전체 글 51

FoobarCTF 2021 reversing Write-up (Z3)

서 론 한 2주만에? CTF문제를 다시 풀어보는 것 같다. 오랜만에 감도 잡을겸 ctftime에 있는 대회중 대충 집어서 문제를 풀어봤다. Child_rev upx패킹이 되어있어 패킹을 풀고 분석을 진행하였다. 이 함수가 메인 코드이다. for문을 34번 돌면서 비교를하는데 항상 참이어야한다. if문을 보면 v6[34] == v6[0], v6[35] ==v6[1]..... 이런식일 것이다. 잘 생각해보면 10째줄을 xor한번더 해주면된다. v7(고정값)을 가지고 말이다. l = [ 0x012F78, 0x012F30, 0x012F72, 0x012F5F, 0x012F61, 0x012F6E, 0x012F64, 0x012F5F, 0x012F6C, 0x012F30, 0x012F67, 0x012F31, 0x012F..

CTF 2021.04.05

Lazarus Keylogger (HSMBalance.exe) (+복호화 추가)

분 석 MD5 34404a3fb9804977c6ab86cb991fb130 SHA256 : c6930e298bba86c01d0fe2c8262c46b4fce97c6c5037a193904cfc634246fbec 위 사진은 WinMain 코드이다. 생각보다 많은 기능이 존재하지 않는것 같고, sub_5B1370()만 분석하면 끝날 것 같다. 먼저 sub5b1370()함수 전체흐름을 보겠습니다. Temp 폴더에 Downloads라는 폴더를 하나 생성을합니다. [중요] 뒤에 나오겠지만, 이 경로에 키로깅 정보가 저장됩니다. 그리고 스레드 3개정도를 만들어 주는데, 이 쓰레드들이 핵심 기능을 합니다.! 이후 [중요] 'C:\Windows\Temp\TMP0389A.tmp' 경로에 특정파일이 생성됩니다. 이 파일에는 T..

Malware 2021.03.03

불법 성매매앱으로 위장한 악성 어플리케이션

서 론 최근 스미싱 공격이 활발하게 이루어 졌다고 해서 스미싱 URL을 찾던 중!!! 다른 악성앱을 발견하였고, 재미있어보여 분석을 해보았습니다. 중국에 서버를 둔 불법 성매매 소개 사이트에서 정상적인 앱이 아니라 악성 앱을 유포한다. 분 석 이 사이트는 안드로이드 앱 뿐만아니라 아이폰용 앱도 설치가 가능하다. 아이폰은 상대적으로 악성앱으로 부터 안전한 것으로 알고 있습니다. 또한 AppStore에 등록 되기까지 몇가지 절차를 거친 후 등록이 되는 것으로 알고 있구요. 하지만 [TIP] 위 사이트 처럼 아이폰에 AppStore에 올라 와있지 않은 앱을 설치할 수 있는 이유는? 'Apple Developer Enterprise Program'방식을 이용한 것이다. 이제 이 어플리케이션이 성매매 연결을 시켜..

Malware 2021.02.13

justCTF2020] debug_me_if_you_can ( LD_PRELOAD 후킹, ptrace )

후 기 : 이번 대회로 ptrace개념을 정확히 알게되었다.!!!!!!!! 기 본 개 념 ptrace란?? 부모 프로세스가 다른 프로세스의 실행을 관찰하거나 제어하는 수단을 제공한다. (자식 프로세스) 아래의 표는 ptrace함수의 첫번째 인자로 들어가는 request마다의 행동을 요약해 둔 것입니다. TRACE_TRACEME 자기 자신을 추적 가능하도록 만드며, 부모 프로세스에 의해 추적되는 것을 나타냅니다. PTRACE_PEEKTEXT, PTRACE_PEEKDATA 자식 프로세스의 주어진 주소의 WORD를 읽어 리턴합니다. PTRACE_POKETEXT, PTRACE_POKEDATA 부모 프로세스 메모리 주소에서 자식 프로세스 메모리 주소로 WORD를 복사합니다. PTRACE_PEEKUSER 자식 프로..

CTF 2021.02.01

Google Capture The Flag 2020] Basics (Verilog)

이 문제를 택한 이유는 최근 CTF에서 Verilog언어를 사용한 문제가 종종 출제되고 있어서 문법도 공부해볼겸 적어봅니다. ( 참고로 제기준에서 이해하기 쉽게 적은 것이라 틀린부분이 있을 수 도있습니다.) 파일은 Verilog언어로 하드웨어 동작?을 구현한 문제입니다. 이를 분석해서 input을 넣으면 flag가 나옵니다. 파일은 main.pp와 check.sv가 주어집니다. #include "obj_dir/Vcheck.h" #include #include int main(int argc, char *argv[]) { Verilated::commandArgs(argc, argv); std::cout data = c & 0x7f; check->clk = false; check->eval(); check-..

CTF 2021.01.18

BambooFox CTF

대회를 늦게시작하여 이미 점수가 많이 떨어진상태... 하지만 1인팀 치고 나쁘지 않은 결과다 ^^ Ransomware pyc파일이 주어지는데 uncompyle6로 디컴파일 해주면 코드가 보이고, 복호화 코드를 짜주면 끝. import requests data = __import__('requests').get('https://ctf.bamboofox.tw/rules').text.encode() key = data[99:115] iv = data[153:169] from Crypto.Cipher import AES data = open('flag.enc','rb').read() cipher = AES.new(key, AES.MODE_CBC, iv) dec = cipher.decrypt(data) with ..

CTF 2021.01.18

금융 정보 탈취 악성코드 이모텟(Emotet)

Emotet 악성코드의 행위를 간단하게 설명 드리면 사용자PC를 감염시키고, C&C서버와 통신을 하면서 시스템 정보와 금융정보를 탈취하는 행위를 합니다. 주로 이메일을 통해 유포가 되고 악의적인 스크립트를 삽입한 문서를 열게끔 만들어 PC감염을 시킵니다. 참조 : asec.ahnlab.com/ko/1358/ 5개월만에 돌아온 Emotet 악성코드!! 국내 유포 중 - ASEC BLOG AhnLab Security Emergency response Center asec.ahnlab.com Malware 샘플은 아래의 링크에서 구하였습니다.! www.malware-traffic-analysis.net/2020/12/28/index.html Malware-Traffic-Analysis.net - 2020-12..

Malware 2021.01.07

Xamarin/Monodroid(C#, .NET)로 만들어진 APK DLL 추출

Xamarin/Monodroid을 이용하여( C#이나 .NET) 만들어진 APK A utility for extracting DLL files from Xamarin/Monodroid application bundles (libmonodroid_bundle_app.so), as created by the mono_mkbundle tool. TokyoWesterns CTF 6th 2020에 출제된 Tamarin 문제에 이용 github.com/tjg1/mono_unbundle laptrinhx.com/extract-dll-files-from-a-xamarin-libmonodroid-app-bundle-so-bundle-2033899934/ Extract DLL files from a Xamarin libm..

analysis TIP 2021.01.04

Atombombing 기법 wtih Atom Table, APC

서 론 Windows Atom Table과 APC(Async Procedure Call)을 활용하는 'AtomBombing' 코드 삽입기술에 대해서 살펴 볼 것입니다. 이 기법은 인젝션에 많이 사용되는 CreateRemoteThread(), WriteProcessMemory() 없이도 원하는 프로세스에 실행코드를 주입할 수 있습니다. 따라서 유저모드 API기반으로 인젝션을 탐지했다면, 많은 부분 우회를 할 수 있습니다. 본 론 AtomBombing 공격은 시스템레벨의 Atom Table을 이용합니다. Atom Table이란? 어플리케이션들이 문자열 정보를 저장할 수 있도록 하는 윈도우 기능입니다. Atom Table(Microsoft docs) - An atom table is a system-defin..

ETC 2020.12.31

APC Injection (비동기호출 인젝션)

서 론 2020 Defenit CTF에서 Malicious Baby문제를 풀면서 APC Injection이 사용되었다는 것을 알게 되었습니다. rocess Hollowingc, injection, dll injection 등은 많이 봤는데, APC Injection??? 난생 처음 들어보는 injection 기법이었습니다. 그래서 공부해서 정리해 보았습니다. 기본적인 개념 먼저, 동기호출과 비동기호출에 관한 개념을 간단하게 집고 넘어가겠습니다. 쉽게 말하면 동기호출은 작업이 요청되는 순서대로 차근차근 진행되는 것입니다. 쓰레드는 운영체제 스케쥴링 알고리즘에 의해서 우선순위가 높은 순서대로 실행됩니다. 예를 들어 큐에 1 2 3이렇게 순서대로 있다고 하면 FIFO구조로 3 2 1 순서대로 쓰레드가 실행될 ..

ETC 2020.12.31