일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- vulnhub
- beebox
- Reflected XSS
- SQL Injection
- Openstack
- diva
- CTF-d
- foremost
- frida
- igoat
- MFT
- 인시큐어뱅크
- lord of sql injection
- otter
- ESXi
- 2018
- Suninatas
- Strings
- 파이썬
- 안드로이드
- logstash
- ctf
- InsecureBank
- Volatility
- kibana
- XSS
- NTFS
- base64
- elasticsearch
- Docker
- Today
- Total
목록분류 전체보기 (436)
Information Security
루팅 패치 프로그램을 통해 디바이스 루팅을 진행할 때 해당 프로그램은 디바이스의 boot 이미지의 특정 설정 값을 수정하게 된다. 그리고 이러한 설정들은 시스템 속성 파일인 build.prop 파일에 반영되어 디바이스 부팅 시 참조하게 된다. Bypass Build-Tags 항목은 안드로이드 시스템 파일인 build.prop 파일의 속성 값을 검사하여 비정상 값이 존재할 경우 루팅 디바이스로 판단해 탐지하게 된다. 아래와 같은 내용을 확인 /system 디렉터리 위치에서 build.prop 파일 확인 build.prop 시스템의 속성 값을 확인 getprop 명령어로 속성 값 확인 isCheckRootingKeys() 함수는 Bypass Module 탐지 결과를 반환해 주는 역할을 한다. 시스템 속성 값..
모든 OS에는 운영체제가 어떤 프로세스를 실행시킬 때 경로를 참조할 수 있도록 PATH 환경 변수가 제공된다. 이는 리눅스 커널 기반인 안드로이드 OS도 동일하다. 셸에서 명령어 사용 시 시스템 환경 변수에 등록된 PATH를 참조해 명령어를 찾고 실행시킨다. Bypass Command Execution 항목은 이러한 특징을 이용하여 which 명령어를 사용해 PATH 변수에 등록된 디렉터리 경로에 "su" 바이너리 파일이 위치하는지 검사하고 파일 존재 시 루팅 디바이스로 판단하여 탐지하게 된다. 아래와 같이 내용 확인 PATH 환경변수에 등록된 내용 확인 Runtime.exec()는 Windows, Linux, Unix 등의 시스템 명령어를 Java를 통해 실행한 후 그 결과를 받아오는 기능을 가지고 있..
디바이스 루팅 시 사용된 응용프로그램 종류에 따라 특정 바이너리 파일들이 설치되거나, 공격자들의 악의적인 행위 및 시스템 설정 변경을 위하여 특정 명령어 파일들을 설치한다. 대표적인 명령어 파일에는 su, busybox, magisk 등이 있다. Bypass Binaries 항목은 디바이스 내의 바이너리 파일들을 검사하여 루팅 시 사용되는 명령어 파일들이 존재할 경우 루팅 디바이스로 판단하여 탐지한다. 아래와 같은 내용을 확인할 수 있다. busybox 명령어를 입력하면 아래와 같이 명령어를 확인할 수 있다. isCheckRootingBinary() 함수는 Bypass Binaries 탐지 결과를 반환해 주는 역할을 한다. 코드를 보면 rootingPath에서 시스템 디렉터리 목록을 가져오고 있으며 ro..
디바이스 루팅 시 사용된 응용프로그램 종류에 따라 내부 저장소에 특정 패키지들이 설치되거나, 공격자들이 앱 분석 및 악의적인 행위를 위하여 특정 앱을 설치한다. 대표적인 앱으로는 magisk, BusyBox, Toolkit, Dex Manager 등이 있으며, 이러한 앱들은 특정 동작 수행을 위해 관리자 권한을 획득하거나 또는 디바이스 정보를 변경하는 데 사용된다. Bypass Packages 항목은 디바이스에 설치된 앱 패키지 목록을 검사하여 루팅 시 설치되는 앱 또는 루팅 디바이스에서만 활용되는 앱들이 존재하는 확인한다. 루팅 Bypass packages 문제를 풀 것이다. 마우스로 클릭하면 아래와 같이 내용을 확인할 수 있다. Fail이 보이는 것을 알 수 있다. APK 파일을 압축푼 후에 JEB ..
Dirty Pipe(CVE-2022-0847)는 2022년 3월에 공개된 리눅스 로컬권한상승 취약점이다. 권한이 필요한 파일을 무단으로 수정할 수 있는 Dirty COW 취약점과 유사하면서 리눅스 커널의 Pipe 기능에서 발생하기 때문에 Dirty Pipe이라는 별칭이 붙었다. 5.8 버전 이상의 리눅스 커널에서 발생하며, 계정 정보 파일을 변조하는 등의 방법으로 관리자 권한 획득이 가능하다. S/W 구분 취약 버전 Linux Kernel 5.8 이상 5.16.11, 5.15.25, 5.10.102 이하 버전 Dirty Pipe PoC 소스코드를 다운받았다. 해당 파일은 아래와 같다. 커널 버전은 5.15.0이 라는 것을 아래와 같은 명령어를 통해 알 수 있다. exploit2.c를 gcc 컴파일을 한다..
JDK 1.8을 설치한다. JDK 1.8 설치된 경로를 확인한다. Lena WAS 압축파일을 해제한다. /bin 디렉터리로 이동하면 lenactl.sh 설치파일을 확 lenactl.sh create lena-was 명령어로 실행하면 디렉터리 이름 설정 후 포트 설정 그리고 존재하는 계정을 입력한다. 설치한 디렉터리로 이동 후 start.sh 명령어 입력하면 실행되는 것을 확 프로세스를 확인하면 Lena-was가 동작하는 것을 확인 LENA WAS 디폴트페이지가 보이는 것을 알 수 있다.
DB2 설치파일 압축을 푼다. 압축을 풀면 server_dec 디렉터리가 생성되어 파일들을 확인한다. db2_install 설치파일을 실행한다. 설치경로 디폴트 /opt/ibm/db2/V11.5 그리고 SERVER 선택한다. pureScale 환경을 사용하지 않기 때문에 no를 선택한다. 설치가 완료되면 db2 프로세스가 활성화되어 있는 것을 알 수 있다. /opt/ibm/db2/V11.5 디렉터리에 파일들을 알 수 있다. instacne 디렉터리로 이동 후 아래와 같은 명령어로 db2 계정을 생성한다. 생성된 계정으로 db2를 실행시키고 SAMPLE 데이터 베이스를 생성한다. db2 명령어로 입력 후 sample 데이터베이스에 접속한다.
Git 리포지토리 관리 솔루션 GitLab에서 임의 파일 읽기 취약점이 발견됐다. 해당 취약점은 경로 탐색 취약점을 호라용해 서버의 임의의 파일을 읽거나 다운로드할 수 있기 때문에 인증되지 않은 공격자가 공개 프로젝트의 첨부파일 다운로드 경로를 조작해 잠재적으로 서버 주요 데이터 파일인 구성 세부 정보, 기업의 소스코드, 민감한 사용자 데이터 등에 접근할 수 있어 주의가 필요하다. S/W 구분 취약 버전 GitLab CE(Communiyt Editoion)/EE(Enterprise Edition) 16.0.0 역할 구분 공격자 Ubuntu 22.04.2 (192.168.0.25) 피해자 Kali Linux 2023.2 (192.168.0.26) 우분투 서버에 docerk 설치 docker에서 지원하는 G..