본문 바로가기

Security122

Scapy를 이용한 tcp 통신(+패킷 재전송 및 변조) scapyscapy에 대한 자세한 설명은 아래 사이트에 나와있다.https://scapy.readthedocs.io/en/latest/Welcome to Scapy’s documentation! — Scapy 0 documentation© Copyright 2008-2020 Philippe Biondi and the Scapy community Revision 0f34ce77.scapy.readthedocs.io 3-way handshake123456789 #3 way handshake ip=IP(src="192.168.30.2", dst="192.168.30.3") syn_packet = TCP(sport=50000, dport=60000, flags="S", seq=100) synack_packet .. 2020. 6. 28.
산업제어시스템 보안 가이드 산업제어시스템(ICS) 보안 가이드(NIST SP 800-82 [Guide to Industrial Control Systems(ICS) Security]) https://www.krcert.or.kr/data/guideView.do?bulletin_writing_sequence=35433&queryString=YnVsbGV0aW5fd3JpdGluZ19zZXF1ZW5jZT0zNTQzMw== 2020. 5. 23.
Smurf Attack * Smurf Attack-> 원리Attacker가 출발지 IP를 Victim의 IP로 Spoofing하여 ICMP Request패킷을 시스템이 아주 많은 네트워크를 Broadcast하면 해당 패킷을 받은 네트워크가 Victim에게 ICMP Reply패킷을 대량으로 보내는 공격이다. -> 대응책1. 라우터에서 Direct Broadcast를 차단한다. (대부분의 라우터에서 이미 Default로 차단되어 있다.) [실습]실습을 진행하기 전 아래와 같이 토폴로지를 구성한다. - R1 : Attacker - R3 : VictimR1이 10.1.1.0 대역으로 R3의 IP로 Spoofing한 ICMP Request패킷을 Broadcast하여 10.1.1.0 네트워크가 R3로 대량의 ICMP Reply을 받을 수.. 2020. 3. 12.
PentesterLab 2 SQL Injection Example 1 (MAKE IT TRUE) PoC Example 2 (LIMIT-MAKE IT TRUE) PoC limit 함수반환되는 출력수를 제한하는 함수임 반환 행 수 제한 우회사용자 로그인 시, 쿼리에서 반환되는 사용자가 1명이도록 소스코드에서 제한하는 경우가 있음limit 함수를 사용하면 반환되는 행 수를 제한할 수 있으므로 이를 이용하면 됨 Example 3 (ESCAPE-MAKE IT TRUE) Hint싱글 쿼터를 입력해도 에러 메세지가 반환되지 않음 PoC Normal QuerySELECT * FROM users WHERE username='root' AND password='qwer'; Injection QuerySELECT * FROM users WHERE u.. 2020. 3. 8.
PentesterLab 1 SQL Injection Example 1 (STRING TYPE-MAKE IT TRUE)http://192.168.30.129/sqli/example1.php?name=root PoChttp://192.168.30.129/sqli/example1.php?name=root' or '1'='1http://192.168.30.129/sqli/example1.php?name=root' or 1=1-- -http://192.168.30.129/sqli/example1.php?name=root' or 1=1%23 주석 필터링 우회%23 : # MySQL 주석1. #2. -- (뒤에 공백이 있어야 주석으로 동작함)3. /**/ Example 2 (ERROR NO SPACE-MAKE IT TRUE)http://192.. 2020. 3. 6.
DVWA(Damn Vulnerable Web Application) Brute Force Low, MediumSTEP 1) 로그인 페이지의 Username과 Password 입력란에 임의의 문자열을 넣고 Login버튼을 눌렀더니 username, password 파라미터로 값이 전달되는 것을 확인했습니다. STEP 2) Brute Force 공격을 수행 후, 결과로 Length 길이가 다른 Payload1과 Payload2를 확인하였습니다. STEP 3) 획득한 Payload값을 각각 Username, Password에 입력하여 로그인하였습니다. Command Execution LowSTEP 1) ping이 가능한 입력 란에 ping 대상 IP주소와 여러 개의 명령어를 한 줄에 실행시킬 수 있는 문자인 ‘;’와 cat /etc/passwd 명령어를 적고 submit버튼을.. 2020. 3. 3.
CVE-2014-3566 (POODLE) POODLE(Padding Oracle On Downgraded Legacy Encryption) Padding Oracle On Downgraded Legacy Encryption 그대로 해석하면 다운 그레이드 된 레거시 암호화의 패딩 오라클(특정 입력을 받아 암호화 작업을 수행하는 시스템)이다. Downgraded Legacy Encryption는 SSL3.0로 Downgrade, Padding Oracle은 SSL3.0의 블록 암호화의 패딩 검증 취약점이라고 생각하면 된다. 즉, SSL3.0 취약점(블록 암호 암호의 패딩 검증)을 이용한 암호 해독 공격이다. cve : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566 조건 1) SSL 3... 2020. 2. 24.
CVE-2014-0160 (HeartBleed) HeartBleed - OpenSSL의 RFC6520 TLS/DTLS Heartbeat extension 구현이 표준을 따르지 않고 구현된 사실이 밝혀졌는데, 해당 취약점을 이용한 정보 탈취 공격이다. CVE : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 조건 1) 영향받는 버전 - OpenSSL 1.0.1 ~ OpenSSL 1.0.1f - OpenSSL 1.0.2-beta, OpenSSL 1.0.2-beta1 2) 영항받지 않는 버전 - OpenSSL 1.0.1g - OpenSSL 1.0.0대 버전 - OpenSSL 0.9.8대 버전 원리 OpenSSL 정해진 규격의 네트워크 보안 프로토콜을 범용 라이브러리를 구현하기 위한 목적으로 만들.. 2020. 2. 24.
DDMS(Dalvik Debug Monitoring Service) 설치 방법 1. JAVA SDK 설치 2. DDMS 다운로드 http://www.mediafire.com/file/2u0a1a6v3wuub8v/asdk_x86_r24.1.2.zip 2019. 6. 7.
JNI (Java Native Interface) 보호되어 있는 글 입니다. 2019. 6. 7.
안드로이드 루팅 탐지 안드로이드 루팅 탐지 SU 명령어로 확인 su 명령어가 실행여부로 확인 try { Runtime.getRuntime().exec("su"); } catch ( Exception e) { //Exception이 발생한다면 Rooting이 되지 않은 것으로 확인 } 프로세스 리스트로 확인 루팅 관련 프로세스 존재 여부로 확인 Runtime.getRuntime().exec("ps") 루팅 관련 어플 확인 루팅 관련 어플 설치여부로 확인 KingRoot spapaRoot owelRoot SU파일 존재 유무 확인 su 파일 존재 유무로 확인 /system/bin/su /system/xbin/su /sbin/su /system/su /system/bin/.ext/.su /system/usr/su-backup sys.. 2019. 6. 4.
Android Manifest.xml 파일 구조 https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ko 2019. 6. 4.
smali(dalvik opcode) 참고 https://i2sec.github.io/files/2017-10-20/study_dalvik_smali.pdf https://www.slideshare.net/paller/understanding-the-dalvik-bytecode-with-the-dedexer-tool https://source.android.com/devices/tech/dalvik/dalvik-bytecode.html http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html https://hyeonbell.tistory.com/1 https://strongslaves.tistory.com/29 2019. 6. 4.
드로저 사용법 드로저(drozer) - 모바일 애플리케이션 취약점 진단 프레임워크인 머큐리의 새로운 업데이트 버전 - 윈도우와리눅스 지원 - JRE, JDK, 안드로이드 SDK가 설치되어 있어야 사용 가능 - 가상 디바이스뿐만 아니라 실제 안드로이드 디바이스에서 테스트 가능 - 자동 테스팅 가능 - 안드로이드 익스플로잇과 같은 다양한 시나리오를 통해 취약점 점검 가능 - 모듈 명령어이기 대문에 다양한 기능 추가 및 삭제 가능 - 공격 코드 제공 - 모듈들은 파이썬으로 작성 드로저 동작 방식 - 안드로이드 가상 디바이스 또는 단말기에 에이전트 설치 후 PC에서 ADB로 명령 내리는 서버와 클라이언트 방식으로 동작 드로저 설치 https://www.mwrinfosecurity.com/products/drozer/ 1) W.. 2019. 6. 1.
ADB(Android Debug Bridge) 사용법 ADB(Android Debug Bridge) - 안드로이드 애뮬레이터나 PC에 실제 연결된 장치를 제어하기 위한 안드로이드 디버깅 도구 - CLI를 통해 명령어를 입력하여 안드로이드 기기와 통신 ADB 설치 위치 - 안드로이드 SDK에 기본적으로 포함 - SDK 폴더의 하위 폴더인 platform-tools에 포함 ADB 동작 과정 1. ADB 클라이언트가 시작되면 가장 먼저 ADB 서버 프로세스가 실행중인지를 점검 2. 만약 서버 프로세스가 실행 상태가 아니라면 서버 프로세스를 구동 3. 서버가 구동되면서 TCP 5037 포트에 바인드시키고, 모든 클라이언트는 5037 포트를 통해 ADB 서버와 통신 1) 서버가 동작중인 모든 에뮬레이터/장치 인스턴스에 대한 연결을 설정하면 5555부터 5585까지의.. 2019. 6. 1.