본문 바로가기

Technical Docs

(35)
crackemes.one - 5 최근에 업무 및 귀차느즘으로 인해 문제를 못풀고이 문제도 내가 못풀어서 그런지 엄청난 노가다를 통해 풀었다. 아오 짜증 -_-;; 근데 어쩌나 코드분석이 안되는걸...근데 노가다로 푼다고 뭔가 실력이 느는지? 는 잘모르겠다. 각설하고 시작해보자 오늘 문제는 난이도 2.0 짜리 문제다. Small Horse 작은말? 뭔소린지 모르겠다. 무튼 시작해보자(https://crackmes.one/crackme/669145bc90c4c2830c82081e) 이문제도 압축을 해제하고 나면 쏘 씸플하다.  패스워드를 입력하고 맞는지 아닌지 푸는 문제다 해당 파일을 ida를 통해 메인을 한번보자int __cdecl main(int argc, const char **argv, const char **envp){ FILE.. 뚜봄뚜봄  2024. 8. 5. 18:38
Crackmes.one - 4 오늘도 2.0 짜리 문제를 풀어봅시다.  문제를 열면 매번 비슷합니다. 키, 패스워드 등을 입력하라고 하고 내가 입력한 값이 맞으면 Correct, 틀리면 Wrong를 뱉는 방식이죵...  그러면은 IDA를 열어서 해당 문자열을 검색해봅시다. 바로 검색이됩니다!if(v!19)에서 걸리고, v19는 sub_140001290 요 함수를 호출합니다.그러면 우리는 눈치 9단이니까 대충 내 문자열을 정답과 처리하는곳이 sub_140001290 여기인거같군요. 그전에 위에서부터 한번 메인함수를 쭉 읽어봅시다. 근데 이부분은 저도 때려맞춘거라 왜 저부분이 문자열 길이인지 모르겠다능... v11이 문자열길이인데 그걸 벗어나면 invalid 쪽으로 넘어가더라구용... 그래서 대충 아 문자열 10자리구나.. 라고 생각합니.. 뚜봄뚜봄  2024. 7. 24. 18:56
Crackmes.one - 3 오늘은 문제를 같이 풀 사람이 있어서 난이도를 2로 설정했다. 뚜둔..(https://crackmes.one/crackme/66685b79e7b35c09bb266b96) 요놈인데 대충 실행하면 이런식으로 키를 집어넣는 부분이 나오고 내가 입력한 값에 따라서 맞췄는지 아닌지를 알려주는거같다. 지금까지의 문제들과 크게 다르지 않다. 다른부분은 GUI 작업이 되어있다는거...? 그래서 아무 문자나 입력하면 아래와 같이 뜨는걸 확인할 수 있다. 그리고 문제에 작성되어 있지만 Simple Antidbg 기법이 적용되어있다. 그래서 해당 프로그램을 단독으로 실행시켜야 동작하고 IDA에 프로그램 올려둔채로 실행시키면 그냥 꺼진다.물론 IDA 통해서 디버깅 실행해도 꺼진다. 그러면 우선 정적으로 프로그램을 분석해보자... 뚜봄뚜봄  2024. 7. 22. 18:39
Crackemes.one - 2 어제 같은 난이도 1단계를 풀다보니 똑같은 유형? 의 문제라서 그냥 넘겼다. 그래서 사실 세번째푸는거임!오늘의 문제는 따단.(링크 : https://crackmes.one/crackme/6655839ae7b35c09bb266464) 요거다 난이도는 1.5 나같은 초보에게 아주 적절하다. 그럼 문제 풀이를 시작해보자. 문제에는 패치가 필요하다고 나온다. 우선 참고만 해두자. 프로그램을 키면 이전과 비슷하게 패스워드를 입력하는 창이뜨고 리버싱을 통해 패스워드를 유추하거나 뭔가 패치를 통해 맞았습니다.가 뜨도록 해야하는 문제로 보인다. 아이다를 통해 해당 프로그램 메인 함수를 디컴파일 해주면 난이도 1.0 짜리 문제와 대충 유사한 모습을 확인할 수 있다.  대충 코드를 보면 반복문을 통해 패스워드를 입력하며 .. 뚜봄뚜봄  2024. 7. 19. 22:22
Crackmes.one - 1 리버싱 공부를 이제 시작하며 Crackmes.one 에 존재하는 많은 문제를 풀어보자. 해서 블로그에 남긴다.물론 처음이니까 쉬운거부터 언젠가 높은 난이도도 풀 수 있지 않을까? 싶음 두둥.. 첫문제 딴거 없고 그냥 어려움이 1.0 이라 선택했다. 워후.. 다운받아서 실행시키면 패스워드를 입력하라는 창이뜬다. 단순 입력으로 Correct / Wrong 를 구분하는 문제로 보인다. Ida를 켜서 살펴보자.. 했는데 답이 바로보인다. 이건  난이도 1.0 중에서도 가장쉬운축에 속하는 문제같다. 와우 대충 cout을 통해 Enter password: 를 하고 cin을 통해 사용자 입력을 받아서 특정 처리를 하는 문제인거같다. 사실 디컴파일할 필요도 없지만 디컴파일 하면 너무 명확하다.  사용자 입력받은걸 st.. 뚜봄뚜봄  2024. 7. 17. 18:40
PHP - OS Command function list 우리회사는 메인언어로 php를 사용하고 있다. 프레임워크(lalabel, codeigniter 등) 없이 쌩으로 php를 만들어서 사용하고 있다보니 신기하다. 무튼 각설하고 오늘은 php에서 os명령어를 입력할 때 사용하는 여러가지 방법에 대해서 알아보자 해당 리스트를 소스코드 진단 등에 활용해보자! 1. Shell_exec (php 4,5,7,8) 2. exec (php 4,5,7,8) 3. system (php 4,5,7,8) 4. ` `(backtick) (php 4,5,7,8) 5. expect (php wrapper를 사용하는 곳 ex. file_get_contents) (PHP 4 >= 4.3.0, PHP 5, PHP 7) + expect 설치가 필요함 뚜봄뚜봄  2024. 3. 2. 17:26
IOS에서 reverse proxy 사용하기 이전 글 VPN 환경에서 안드로이드 프록시 잡기와 같은 환경에서 IOS는 별도 adb 같은 소프트웨어가 없고 뭐 찾아보니 reverse proxy를 그냥 지원하지는 않는거같다. 그래서 ssh를 활용해 reverse proxy 비슷하게 사용하는 방법을 기술하고자 한다. 환경은 지난번과 동일하다. 이전과 동일하게 이야기 하지만 현재 자사에서 사용중인 VPN은 연결 시 이더넷 인터페이스가 새로 만들어져 기존 와이파이 대역으로 업무용PC에 프록시를 설정해도 QA및 개발서버에 붙을 수 없는 환경이다. 여기서의 외부모바일만 android -> IOS 로 변했다고 생각하면된다. 구성방식 및 세팅도 동일하다. 사전준비 1. PC에 IOS 단말이 usb 연결이 허용되어야 한다. (보통 단말기 usb 연결은 막혀있음 회사.. 뚜봄뚜봄  2024. 2. 16. 21:30
VPN 또는 내부망에서 프록시 잡기 (reverse proxy) 여러 고객사에서 진단 업무를 수행하거나 내부 개발망에서 진단이 필요할 때 VPN을 사용하거나 작업용으로 사용하는 PC에 휴대폰이 프록시를 붙지 못하는 경우가 있다. 대충 나는 아래와 같은 그림의 상황이다. + 진단 나갔는데 무선망은 따로 존재하지 않고 랜포트를 통해서 내부망 진단하는 경우? 우선 우리회사에서 사용하는 VPN은 연결할 경우 이더넷이 하나 더 생긴다. 그래서 VPN을 붙지않으면 일반 환경에서는 그냥 인터넷도 사용 할 수 없도록 막혀있다. 대충 망분리를 위한 조치라고 보면된다. 그래서 문제는 모바일진단이 필요한데 모바일의 프록시를 업무용 PC에 넣어도 실제 패킷은 VPN 이더넷 쪽으로 빠지기 때문에 내부망 접근이 불가능하다. 그래서 평소에는 출근해서 pentest용 세컨 PC와 전용망(무선망).. 뚜봄뚜봄  2024. 2. 13. 21:37