전체 글 74

Log4shell(CVE-2021-44228) + JNDI Injection

- log4shell log4j는 자바 로깅 프레임워크 중 하나인데 넘겨받은 값을 문자열 그대로 저장하는 것이 아니라 lookups 기능에서 해석할 수 있는 형태면 해당 문자열을 실행한다. CVE-2021-44228에서는 JNDI Lookup을 이용해서 공격자의 서버에 있는 악성 페이로드를 요청한다. - JNDI Injection 피해자의 서버에 익스플로잇을 하기 위해 사용하는 JNDI Injection도 이해할 필요가 있다. 공격자의 LDAP(또는 rmi) 서버에서 JNDI Naming Reference를 반환하고 피해자의 서버는 Reference Object의 Codebase URL이 가르키는 신뢰되지 않는 악성 클래스 파일을 인스턴스화한다. (log4shell exploit flow 참조) 위 JN..

Web,Mobile/Tech 2021.12.17

[Vulhub] 설치 및 실행 방법

1. 개요 1-day 취약점 분석 시 취약한 버전의 어플리케이션, 환경설정 등이 구성되어야 함. Vulhub는 docker를 이용하여 환경 구성의 번거로움을 해결해준다. 해당 문서는 Vulhub 를 이용해 취약점 환경 테스트를 구성하는 방법을 기술한다. 단, Vulhub는 모든 CVE를 지원하지는 않음. 2. Vulhub 설치 1) 가상머신 설치(optional) Ubuntu 64bit iso 설치 (link) VMWare Workstation 설치 (link) VMWare에 Ubuntu 설치 2) docker, docker-compose 설치 terminal 실행 관리자 권한 상승 limelee@ubuntu:~$ sudo su [sudo] password for limelee: root@ubuntu:/..

Web,Mobile/Tool 2021.09.01

Hacking Camp CTF 2021 write up

web, mobile만 1. World Wide Web World Wide Web 플래그 경로는 /tmp/flag 에 있습니다. https://steemit.com/kr/@huti/phpmyadmin-local-file-inclusion-cve-2018-12613 phpmyadmin Local File Inclusion 취약점(CVE-2018-12613) 재분석 — Steemit 악의적인 사용을 금합니다. 법적 책임은 본인에게 있습니다. 무단 도용/복제를 급합니다. 본 글의 저작권은 huti에게 있습니다. URL에 파일 경로를 포함하면, 사용자가 웹서버에 있는 파일을 열람 steemit.com phpMyAdmin에서 target 파라미터로 전달되는 값에 대해 유효성 검사를 하고 있으나 이를 우회하여 임의..

wargame 2021.08.18

[Burp Suite] 업데이트 후 Render 기능 사용 시 Embedded browser initialization failed 에러

버프스위트 커뮤니티를 쓰다 어느 순간 Render 기능을 사용할 수 없게 되었다. 오른쪽 상단에 업데이트 메시지창을 보고 업데이트 했던 게 의심스럽다. 증상은 Embedded browser initialization failed 라는 에러 메시지가 출력된다. 자세한 에러 메시지가 필요할 듯 하다. Help > Embedded Browser Health Check 에서 확인 가능하다. manifest.properties 파일이 없다고 한다. 그래서 해당 디렉터리로 이동하려고 했더니 이동이 안된다. 뭔가 싶어 디렉터리를 하나하나 따라가니 manifest.properties 파일이 있는 디렉터리 명이 변경되었다. 90.0.4430.212을 91.0.4472.101로 변경해준 뒤 버프스위트를 재실행했다. 디렉터..

Web,Mobile/Tool 2021.06.23

[Python] requests 라이브러리 프록시 툴로 패킷 캡쳐하기

Python version 3.9.4 Package 'requests' version 2.25.1 예전엔 알아서 패킷을 잡았던 거 같은데 최근에 다시 돌리려 하니 프록시 설정을 킨 상태에서 요청하면 에러가 발생한다. 기존 GET 방식으로 요청 보내는 코드 import requests URL = 'https://limelee.xyz' res = requests.get(URL) print(res) 실행 시 이렇게 오류가 난다. 그래서 proxies 옵션을 추가해주었다. import requests proxies = {'http' : 'http://127.0.0.1:8080', 'https' : 'http://127.0.0.1:8080'} URL = 'https://limelee.xyz' res = reque..

Web,Mobile/Tool 2021.04.19

[apktool] appguard 난독화 앱 디컴파일 및 리패키징 오류 해결

디컴파일 오류 : brut.directory.DirectoryException: Error copying file: assets java -jar apktool_2.5.0.jar d test.apk -o test I: Using Apktool 2.5.0 on test.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... I: Loading resource table from file: C:\Users\home\AppData\Local\apktool\framework\1.apk I: Regular manifest package... I: Decoding file-resources... I: Decoding val..

Web,Mobile/Tool 2021.03.11

Raspberry Pi 3로 WOL 패킷 전송

하루종일 데탑을 켜놓기엔 전기세 아깝고 하루종일 돌아가고 있는 라즈베리 파이 서버를 이용해서 WOL을 구현하면 어떨까 싶어 환경을 만들었다. 참고로 라즈베리파이에 외부접근이 이미 설정되어 있는 전제 하에 작성된 글이다. 오직 WOL을 위해 라즈베리파이를 사서 OS도 올리고 포트포워딩도해주고 원격접속 설정도 해줄 거라면 iptime 공유기나 팀뷰어 등 유명한 기업들에서 이런 기능을 이미 지원하고 있기 때문에 그 쪽을 이용하는 것이 용이하다. WOL은 Wake On Lan으로 특수한 매직 패킷으로 원격에서 부팅하는 기술이다. 워낙 유명한 기술이기 때문에 팀뷰어나 iptime에서 기능을 다 지원하고 있다. 팀뷰어와 iptime이 지원하는 WOL의 형태는 다음과 같다. 팀뷰어의 경우 외부의 어느 포트와 원격 부..

Raspberry Pi 2019.12.24