일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Hxd
- general skills
- 리눅스
- 스택
- 카이사르
- WEB
- cryptography
- grep
- dreamhack
- #picoCTF2018
- Aleph One
- 시스템해킹
- Smashing The Stack For Fun And Profit
- reversing
- writeup
- Protostar
- picoCTF
- 번역
- 해킹 공부
- 시스템
- 해설
- CTF
- forensics
- 리버싱
- 정답
- KOISTUDY
- picoCTF2018
- write up
- 버퍼오버플로우
- #hacking
- Today
- Total
목록분류 전체보기 (94)
Security || AI

gets에서 esp+0x10을 호출하는 것을 볼 수 있다. 이는, 0x10이 문자열을 입력받을 변수 인것으로 보인다. 또한, esp에서 0x50을 뺀 것을 보아, 문자열을 입력받는 변수의 크기는 0x50-0x10으로 64로 파악된다. 쉘을 얻어내려면 ret 다음에 쉘코드를 삽입하여 쉘을 따내야할것 같으므로 브레이크포인트를 main+22(ret)에 걸어준다. peda를 사용해서 100개 정도의 패턴을 생성한 후, stack영역을 보면 AA4A를 볼 수 있고, 이는 offset이 76이다. 위 사진처럼 msfvenom을 사용하여 x86환경에서의 /bin/sh 명령을 실행하는 쉘코드를 만든다. 현재 buffer의 크기는 64이므로 쉘코드를 올리고 ret에 buffer의 시작주소로 덮으면 쉘 코드를 실행시킬 수..

A3C란? A3C 알고리즘은 비동기적 어드밴티지 액터크리틱(Asynchronous Advantage Actor-Critic)으로, 2016년 구글 딥마인드가 발표한 알고리즘이다. 학습 데이터간의 상관관계를 꺠기 위해 DQN에서와 같이 리플레이 메모리를 사용하는 것이 아니라, 샘플을 수집하는 여러 개의 ACTOR-LEARNER라는 에이전트를 사용하는 Actor-Critic 방법이다. 장점 A3C 알고리즘은 강화학습 문제에서 더 좋은 보상을 달성 가능하다. 기존 방식과 동일한 액션 공간에서 연속적으로나 별도로 동작하는 것이 가능하다. 학습 속도가 빠르다. DGN보다 시간이 단축되고, 학습 성능이 뛰어나다. 구조 동일한 신경망 모델로 되어 있는 각 actor-learner는 서로 다른 환경에서 비동기적으로 일..

악성코드를 csv 형태로 추출하였지만 아래의 사진과 같이 각각 feature의 값이 어떤 feature의 값인지를 알려주는 pe 헤더가 누락되어있어, 이를 추가하는 코드를 짰다. header = [] header.append('file_name') #Dos Header header.append('e_cblp') header.append('e_cp') #. #. (생략) #. header.append('api_30') header.append('len_dll') header.append('len_api') print(len(header)) header.append('flag') file = open('data/pe_extract.csv', 'r') rea = csv.reader(file) data = []..

1. Dos Header 추출 def Dos_Header(pe): #print(file) features = [] temp = pe.DOS_HEADER features.append(temp.e_cblp) features.append(temp.e_cp) features.append(temp.e_crlc) features.append(temp.e_cparhdr) features.append(temp.e_minalloc) features.append(temp.e_maxalloc) features.append(temp.e_ss) features.append(temp.e_sp) features.append(temp.e_csum) features.append(temp.e_ip) features.append(temp..

1. 환경 칼리리눅스 64bit, python 3.8.5(추가 모듈: pandas) 2. label.csv 분석하기 악성파일 7000개, 정상파일 3000개의 정상 여부를 저장하는 csv파일이다. 악성코드의 경우 라벨이 1이고, 정상 파일인 경우 0으로 표현되어있다. pandas로 파일을 불러올 때 첫 행이 각 열의 정보를 대표하는 이름으로 들어와 파일 하나가 누락되는 문제가 발생하였다. 이를 해결하기 위해, 맨 위에 file_name과 flag라는 행을 추가하여 파일 이름과 파일 종류 여부를 판단하는 변수를 추가하였다. 3. 파일 분류하는 코드 짜기 import pandas as pd import os data = pd.read_csv('./label.csv') path = ['BENI_PATH', '..