level8의 힌트를 보면 shadow 파일을 찾아야 하는 문제인데, 용량이 '2700'이라고 단서를 주었으니 차근차근 풀어가보겠다./etc/passwd와 /etc/shadow 파일 구조는 아래의 주소를 참고하고 이 글을 다시 보길.http://suspected.tistory.com/entry/etcpasswd-etcshadow-%EA%B5%AC%EC%A1%B0 ls -al로 /etc/passwd와 /etc/shadow를 보면 차이점이 /etc/shadow는 읽을 수가 없다. 힌트에서 용량이 "2700"이라는 것을 주었으니 find 명령어로 찾아보면 될 것이다. 아래의 표는 find에서 -size를 이용해서 찾을 경우 사용하는 옵션이다. -size n[bckw] 설명 -size 1b 512바이트 단위의 ..
[/etc/passwd 구조] 아이디패스워드 UserID GroupID 사용자명 홈 디렉터리 로그인쉘 level8x 3008 3008 Level 8 /home/level8 /bin/bash 자세히 봐야 할게 패스워드 부분이다. 원래 초기의 리눅스는 /etc/passwd 파일에 평문 형태로 패스워드를 표기했으나 패스워드를 아무나 보면 안 된다는 보안 의식이 생기면서 지금처럼 모든 계정이 읽을 수 있는 /etc/passwd에 있는 패스워드 부분은 x로 가려져 있고, 실제로 암호화한 패스워드는 root 계정만 읽을 수 있는 권한이 부여된 /etc/shadow에 저장이 된다. [/etc/shadow 구조] 열1 열2 열3 열4 열5 열6 열7 열8 열9 level8 $111$jdjdDD##@djdjdjd0 15..
level7의 hint를 보겠습니다. 2진수를 10진수로 바꾸는 문제라고 유추할 수 있겠네요. 계산기를 공학용으로 다들 매일 쓰시니 상관은 없을 듯 합니다. 버릇이 들었는지 find 명령어를 이용해서 해당 파일을 찾습니다. /bin/level7이 출력됩니다. 하지만 열어보려 하니 실행권한만 있을 뿐 다른 권한은 없어서 cat명령이 통하지 않습니다. 위에서 /bin/wrong.txt가 존재 하지 않아서 정보를 확인할 수가 없습니다. 누가 삭제를 했는지 없네요..그래서 다른 곳에서 정보를 얻어왔습니다. 원래 /bin/level7을 실행하면 아래의 내용이 출력 됩니다. 올바르지 않은 패스워드 입니다.패스워드는 가까운곳에...--_--_- --____- ---_-__ --__-_-대학 수업때 이산수학이라는 과목..
시스템 인터럽트는 프로세스간에 주고받는 신호로 시스템 개발에서는 중요한 요소이다. 소스코드 상에서 시그널을 전달하는 방법을 알아보자. 시그널을 발생시키려면 아래 표와 같이 signal() 함수를 사용하면 된다. signal() 함수의 사용법 사용 예 설명 signal(시그널 번호, SIG_DFL) signal(SIGINT, SIG_DFL) SIGINT 시그널 실행 signal(시그널 번호, SIG_IGN) signal(SIGQUIT, SIG_IGN) SIGQUIT 시그널 무시 signal(시그널 번호, handler 함수) signal(SIGINT, handler) SIGINT(Ctrl + C)가 입력되면 handler 함수를 실행 위의 표를 참조해서 시그널 함수를 구현해보면 아래의 소스를 볼 수가 있다..
레이스 컨디션 취약점이 존재하기 위한 최소한의 조건- 다른 계정의 권한에 접근해야 하므로 SUID가 걸려 있어야 한다.- 임시 파일을 생성해야 한다.- 공격자가 임시로 생성되는 파일명을 정확하게 알아야 한다. 레이스 컨디션 환경- 임시 파일의 생성을 시도- 임시 파일이 생성되면 내용을 쓰고 바로 파일을 삭제(공격자 입장에서는 임시 파일에 내용을 쓰고 삭제하는 순간이 너무 짧은 것이 문제)- 임시 파일의 생성에 실패하면 프로그램을 종료요약해보자면1. 파일 생성2. 파일 생성에 성공하면 생성된 파일에 내용 쓰기3. 쓴 내용을 읽어들여 처리/사용4. 파일 삭제* 구체적으로는 2번과 4번 사이에 취약점이 존재하게 된다. 위의 실행 흐름에서 2번과 4번 사이에 공격할 수 있는 틈이 있긴 하지만 너무 짧은 시간 간..
LEVEL4에 hint는 "누군가 /etc/xinetd.d/에 백도어를 심었다"라고 나옵니다. 문제를 풀기 전에 일단, xinetd 데몬의 설정 구조를 알아봅시다.cat /etc/xinetd.conf를 입력하면 밑의 화면이 나오는데, 하나씩 살펴보면 instances = 60: xinetd 데몬에 의해 실행되는 네트워크 서비스 데몬의 최대 동시 접속 허용을 위한 데몬의 기동 수치log_type = SYSLOG authpriv: 시스템 로그를 "보안 및 승인에 관한 메시지 등급"으로 저장log_on_success = HOST PID: 접속에 성공했을 때 원격호스트 IP와 xinetd PID를 로그에 저장log_on_failure = HOST: 접속에 실패했을 때 원격호스트 IP를 로그에 저장한다는 의미로,..
level3의 hint를 보겠습니다. autodig라는 소스를 보여주네요.추가적인 힌트로는 '동시에 여러명령어를 사용하려면?', '문자열 형태로 명령어를 전달하려면?' find로 user값이 level4로된 파일을 찾아보면, /bin/autodig가 출력됩니다. autodig의 소스를 보니까 dig를 이용해서 ip를 입력하면 bind 버전을 알아오라는 것 같네요.http://suspected.tistory.com/entry/nslookup-dig dig에 대해서 정리한 글. 참고 하세요./bin/autodig에 어떤 임의의 사이트 서버 ip 192.168.111.2를 뒤에 붙여 주겠습니다. 위의 argv[0]값에 /bin/autodig 대신에 dig 명령어를 넣어서 'dig @192.168.111.2 v..
level3를 user로 되어있는 것을 find 명령어로 찾습니다./usr/bin/editor를 ls-al 명령어로 용량과 소유자, 그룹을 확인합니다. user는 level3로 되어있고 group은 level2로 되어 있네요./usr/bin/editor을 실행해 보겠습니다. 실행을 했더니 기존의 vi와 별 다를게 없어보입니다.비교 차원에서 기존의 vim과 editor의 용량을 분석해봤는데, editor가 훨~씬 작네요. gdb명령어로 리버싱을 시작해보겠습니다. 전체적인 소스는 앞의 level1보다 훨씬 간단하네요. 요약을 해보자면1. 스택을 구성2. setreuid(3003,3003)을 이용해 실행되는 파일의 UserID 권한으로 level3 계정을 실행 합니다.3. system() 함수를 이용해서 vi..
- Total
- Today
- Yesterday
- Kimsuky
- cuckoo-sandbox
- 스피어피싱
- 해킹메일
- koodous
- 위협정보공유
- Bisonal
- 멋쟁이사자처럼 4기
- infostealer
- AMSI
- vuln
- CVE-2018-9375
- malware
- 출처 : Do it 안드로이드 프로그래밍
- VirusBulletin
- CVE-2018-0798
- 비트코인
- Yara
- .wll
- keylogger
- MS-Office
- Flybits
- Static Analysis Engine
- 한글악성코드
- 악성코드
- us-cert
- idapython
- Servey
- Decoding
- Cisco Talos
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |