목록대외활동 및 팀플/네뷸라 콘테스트 (16)
EYEN

v33 = argv; sub_404160(&unk_418080, argv, envp); // server initialize dword_418240 = 60; dword_418224 = 30; dword_41823C = 20; dword_418234 = 3; dword_418238 = 100; dword_4181F4 = (int)"Protected Area"; dword_418200 = (int)"/cgi-bin"; dword_418208 = (int)"/sbin:/usr/sbin:/bin:/usr/bin"; dword_418254 = (int)&dword_418250; dword_418250 = (int)&dword_418250; signal(13, 1); ..

void *memcpy( void *dest, const void *src, size_t count );memcpy(v15, pMib + 17730 * v12 + 18112 + 12, sizeof(v15));memcpy(pMib + 15213 + 17730 * v12, pMibDef + 15213 + 17730 * v12, 2955);memcpy(pMib + 17730 * v12 + 18112 + 12, v15, 9); pMib + (17730 * v12) + (18112 + 12) 에서 v15의 사이즈만큼 v15에 저장 pMib+15213에 2955만큼 저장 pMib+17730에 9만큼 저장 int sprintf(char *buffer, const char *format-string, argument-..
보호되어 있는 글입니다.

골머리를 앓았던 .7z이건 7z -d 로 압축을 풀면 lzma이니까 그걸로 풀라고 하고 lzma로 풀면 데이터가 오염됐다고 못하게 했다. 푸는 법을 찾았다! binwalk하면 .7z 옆에 보통 저런 흰색 친구가 생기는거 쟤를 binwalk로 풀어주면 된다.

펌웨어에서 보통 binwalk를 통해 추출하는데, 이 경우 모든 파일이 추출되지 않는 경우가 꽤 있는 듯 하다.1. 일단 binwalk로 펌웨어 추출2. 310000.squashfs를 010 editor에 드래그드롭. 3. 오른쪽 아래 Variables에 compression 보면 value가 4인데 저게 xz라는 뜻이다.4. xs compression 파일 시그니처는 FD 37 7A 58 5A 00이다. 'Find in Files'를 통해 해당 시그니처를 310000.squashfs에서 찾아보면5. 이 부분을 추출한다.31000.squashfs를 인자로 해당부분을 추출하는 코드를 적는다. 나같은 경우 팀장님이 정리하신 걸 복붙해서 썼다.def extract_xz_segments(input_file, o..

커널 빌드하기buildroot사용자가 선택한 환경에 맞춰 파일 시스템, 커널, 부트로더, 툴체인을 모두 빌드해준다. 툴체인이란 크로스 컴파일을 진행할 때 사용되는 gcc, ld, cpp,as 와 같은 개발 도구를 지칭커널 빌드 절차(1) buildroot는 따로 다운 받아서 1. tar -zxvf 파일명.tar.gz make menuconfig 오류 (2) 툴체인 다운로드 sudo apt-get install gcc-arm-linux-gnueabi -y(3) 툴체인 명명법 arch-vendor-os-abi-program_name ex. arm-linux-gnueabi-addr2line arm 아키텍처의 linux os에서 gnueabi방식을 사용하는 addr2line,..
더보기 더보기 더보기 더보기 출처 https://securityintelligence.com/buffer-overflow-vulnerability-in-tp-link-routers-can-allow-remote-attackers-to-take-control/ 취약점 발생 버전 TP-Link WR940 장치 TL-WR940N 하드웨어 버전 3과 TL-WR941ND 하드웨어 버전 6 펌웨어 버전 150312 취약한 함수strcpy발견된 곳ping을 날렸을 때 펌웨어 바이너리에 컴파일된 네이티브 코드를 참조해서 printf하는 메시지가 표시됨.printf에서 타고타고 올라감httpdpocping 서비스에 대한 get 요청을 bur..
펌웨어란 ROM에 기록되며 하드웨어 장치에 포함된 소프트웨어로, 주로 CPU를 사용하는 전자 기기에 탑재되어 하드웨어를 구동시키는 역할을 함. 펌웨어의 구조부트로더, 커널, 파일 시스템으로 이루어짐 부트로더OS가 실행되기 전 미리 구동되어 커널을 메모리에 로딩하며 주요 하드웨어 기능을 초기화하는 역할을 수행그래서 하드웨어 의존성이 강해 일반적으로 특정 장비와 함께 제공되며 이에 대한 개발을 위해서는 UART 등의 장비가 필요하다. 이러한 임베디드 장비에서 자주 사용되는 부트로더는 U-Boot, ARMBoot, BLOB 등이 있다.커널OS의 핵심 영역 응용 프로그램이 사용할 하드웨어 자원 관리 등 여러 환경 관리를 수행시스템 자원 관리, 사용자와 하드웨어 간의 인터페이스 역할을 수행한다고 요약할 수 있다...