목록분류 전체보기 (420)
외로운 Nova의 작업실
- 환경 공격자 : 10.10.14.27 타겟 : 10.10.11.196 - 스캔 nmap -Pn -n -p- -sV -sC -v --min-rate 5000 --max-retries 4 -oA nmap 10.10.11.196 웹페이지에 접속해보겠습니다. /etc/hosts 파일에 ip를 넣어주고 웹사이트에 접속해보겠습니다. nginx 웹서버이기때문에 가상호스트가 있을 확률이 높습니다. 가상 호스트를 한번 검색해보겠습니다. gobuster vhost -w /usr/share/wordlists/domain/subdomain-top10million-5000.txt -u http://stocker.htb --append-domain dev.stocker.htb를 hosts파일에 넣어놓고 접속해보겠습니다. 이제..
- 취약점 소개 프로바이더는 uri를 가지고 데이터베이스나 파일에 접근할 수 있는인터페이스를 제공합니다. 이때 외부에서 콘텐츠 프로바이더를 통해 중요한 데이터베이스나 파일에 접근할 수 있으므로 항상 검증하고 접근 관리를 해야합니다. 검증하지 않거나 접근 관리를 하지 않을때는 외부에서 중요한 데이터베이스나 파일에 접근할 수 있게 됩니다. - 취약점 진단 과정 먼저 프로바이더를 사용중인지 매니페스트파일을 봐보겠습니다. 위는 매니페스트 파일중 일부분 입니다. 프로바이더 이름과함께 exported속성이 true로 외부 앱에서 콘텐츠 프로바이더를 통해 데이터베이스에 접근할 수 있게 되어있는 것을 확인할 수 있습니다. 드로저를 통해 공격 표면에 포함되는지 확인해보겠습니다. 콘텐츠 프로바이더부분에 공격 표면이 1개 ..
- 취약점 소개 안드로이드 애플리케이션은 보안상의 이유로 루트 권한을 막아놓았습니다. 그래서 애플리케이션들은 각 프로그램마다 권한을 부여받아 독립적으로 동작합니다. 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득해야합니다. 기기를 루팅하면 슈퍼유저의 권한으로 하드웨어 성능 조작, 기본 애플리케이션 삭제 등등을 할 수 있고, 디바이스 내부의 민감한 정보에 접그할 수도 있습니다. 따라서 금융권 애플리케이션들은 기본적으로 루팅된 기기에서의 앱 실행을 차단합니다. 또한, 최근 카드정보를 디바이스에 저장해 간단하게 결제하는 핀테크기술이 이슈가되면서 루팅된 기기는 보안 위협으로 감지하는 사례가 늘고 있습니다. - 취약점 진단 과정 먼저 앱을 키고 로그인을 하게되면 사전 환경 구축에서 루팅을 해놓..
- 취약점 소개 액티비티는 안드로이드 앱에서 화면을 의미합니다. 사용자가 정상적인 방법으로 로그인 화면 -> 비밀번호 변경 화면 순으로 접속해야하지만, 액티비티 취약점이 있는경우 로그인 화면없이 비밀번호 변경 화면으로 건너뛸 수 있습니다. - 취약점 진단 매니페스트 파일에 activity 선언태그 안에 exported 속성이 true로 되어있다면 다른 외부에서 액티비티 화면을 불러올 수 있음을 의미합니다. 따라서 드로저를 활용해 매니페스트 파일을 봐보겠습니다. dz> run app.package.manifest com.android.insecurebankv2 ChangePassword 액티비티의 경우 exported 속성이 true로 되어있는 것을 확인할 수 있습니다. 드로저로 노출된 액티비티들을 정리해..
- 취약점 소개 안드로이드 애플리케이션은 특정 정보들을 저장해야할때가 있습니다. 이 특정 정보들을 암호화를 적용하여 저장하게되는데, 짧은 키값을 쓰거나, 소스 코드를 얻으면 키값이 노출되는 경우가 있습니다. - 취약점 진단 보통 앱들에는 자동 로그인 기능이 있습니다. insecurebank에서도 Autofill credencial 기능이 있습니다. 이 기능은 최근에 로그인했던 정보를 핸드폰내에 저장하고, 그값을 불러와 로그인을 하는 메커니즘을 가지고 있습니다. 즉, 로그인 했던 정보들이 어딘가에 저장되어있습니다. 보통 공유 프리퍼런스에 저장하니 한번 검사해보겠습니다. 먼저 공유 프리퍼런스 파일이 있는 경로로 들어가줍니다. /data/data/com.android.insecurebankv2/shared_p..
- 침입탐지 시스템(snort) 스노트는 1998년 마틴 로시에의해 개발되었고 패킷 스니퍼, 패킷 로거, 네트워크 IDS/IPS로 이루어져있습니다. - snort 룰 설정 스노트는 룰 헤더로 무엇을 탐지할 것인지 결정하고 룰 바디로 어떻게 탐지할 것인지 결정합니다. 예시로 알아보겠습니다. #모든 tcp ip , 모든 포트에서 1.1.1.1:80으로 가는 패킷들을 감지합니다. alert tcp any any -> 1.1.1.1 80 #1.1.1.1:80과 2.2.2.2:80이 서로 통신하는 패킷을 감지합니다. log tcp 1.1.1.1 80 2.2.2.2 80 #외부와 내부가 서로 통신하는 패킷을 감지합니다. $변수는 snort.conf 파일에 정의합니다. log tcp $EXTERNAL_NET any ..
- 취약점 소개 취약한 인증 메커니즘은 정상적인 인증 절차를 우회하여 비정상적인 인증으로 접근권한을 획득하는 취약점입니다. - 취약점 진단 과정 매니페스트파일을 보면 액티비티의 속성중 exported=true 항목이 있는 액티비티들이 있습니다. 이 경우 다른 액티비티에서 인증없이 접근할 수 있습니다. 아래는 매니페스트 파일입니다. 여기서 PostLogin, DoTransfer, ViewStatement 액티비티는 export가 true로 설정되어 있습니다. 이를 통해 로그인 없이 해당 액티비티에 접근이 가능합니다. drozer를 사용하여 접근해보겠습니다. dz> run app.activity.start --component com.android.insecurebankv2 com.android.insecu..
- 취약점 소개 브로드캐스트가 무분별하게 인텐트를 받아들이면 악의적인 애플리케이션에 의해서, 공격자에 의해서 임의대로 실행될 수 있으며 수행을 조작할 수 있습니다. - 취약점 진단 과정 먼저 매니페스트 파일로 리시버를 봐보겠습니다. run app.package.manifest com.android.insecurebankv2 이름과 exported가 true로 되어있다보니 외부 앱의 인텐트를 리시브할 수 있는 것으로 확인됩니다. 실제 리시버가 무엇을 하는지 소스코드를 봐보겠습니다. package com.android.insecurebankv2; import android.content.BroadcastReceiver; import android.content.Context; import android.co..
- drozer drozer은 취약점 분석 프레임워크입니다. 아래사이트에서 다운로드할 수 있습니다. https://labs.withsecure.com/tools/drozer Drozer Comprehensive security and attack framework for Android. labs.withsecure.com 윈도우 사용자라면 msi랑 agent를 다운받으시면됩니다. 추가적으로 아래 링크를 참조하여 설정을 해줍니다. https://r136a1x27.tistory.com/312?category=516862 윈도우 drozer 설치(msi) - protobuf 오류 & 파이썬 2, 3 동시에 설치되어 있을 경우 0. drozer란? 모바일 어플리케이션(안드로이드) 동적 분석 프레임워크 https..
- GET 방식 sqlmap -u "http://www.example.com/cat.php?id=1" - Post 방식 sqlmap -u "http://www.example.com/admin/index.php" --data "user=USER&password=PASS" - 옵션 --dbs : 데이터베이스 스캔 -D example --table : 테이블 스캔 -D example -T users --columns : 칼럼 스캔 -D example -T users --dump : 값들 스캔