| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- beebox
- lord of sql injection
- 안드로이드
- XSS
- SQL Injection
- igoat
- Volatility
- dreamhack
- ctf
- foremost
- Suninatas
- Openstack
- otter
- ESXi
- MFT
- frida
- base64
- 2018
- 인시큐어뱅크
- Docker
- diva
- logstash
- vulnhub
- binwalk
- CTF-d
- Strings
- kibana
- Reflected XSS
- elasticsearch
- InsecureBank
- Today
- Total
목록전체 글 (447)
Information Security
volatile 4byte int type 변수 modified 선언, char buffer 64byte char type arrary buffer 선언했다. modfied 값을 0x61626364로 초기화해야 하는 것 같다. AAAA, BBB를 입력해보았는 데 Try again 메시지를 보여준다. A를 여러개 입력 해 overflow 발생시켰지만 modified 값이 "0x61626364"로 변경되지 않을 경우 아래와 같은 메시지를 보여준다. disas mian 명령어를 통해 main 함수를 확인했다. 0x61626364와 modified를 비교해야 하므로 modfied = rbp - 0x4(main+76)이다. buffer는 strcpy의 detination이므로 *main+68이다. rdi가 rax..
volatile 함수는 변수를 사용할 때 최적화에서 제외하여 항상 메모리에 접근하도록 하는 함수다. modified 4byte 정수형을 선언하고, buffer 64byte를 선언한다. modified 변수를 0으로 초기화하고, gets() 함수를 통해 사용자로부터 buffer에 입력받는다. ./stack0 AAAA 입력 시 "Try again?" 메시지를 보여준다. gdb ./stack 0 명령어를 입력 후 main 부분을 확인했다. break point를 main+42 설정 후 run을 해주고 a 80개를 입력해주었다. 80 바이트 이유는 0x54 - 0x4 =0x50(80) 이기 때문이다. main+39를 보면 $rbp-0x40로 되어 있다. modfied의 주소이기 때문에 해당 주소를 보면 0x41..
nmap을 이용해 192.168.219.0/24 대역을 스캔했는 데 192.168.219.72 80/tcp port가 open 되어 있는 것을 알 수 있다. http://192.168.219.172 페이지에 접속했다. -A 옵션을 통해 192.168.219.172 Port를 자세히 확인했다. Search 메뉴에서 test를 입력해보았다. burp suite를 통해 요청 값을 복사했다. burp suite 복사한 것을 test.txt에 저장했다. sqlmap -r 옵션을 이용해 패킷 내용을 통해 --dbs를 검색했다. information_schema, Staff, users 데이터 베이스를 확인할 수 있다. Staff 데이터 베이스 Users table에 admin 계정을 확인할 수 있다. admin P..
nmap을 이용해 해당 대역을 스캔했는 데 192.168.219.107 80/tcp port가 열려있는 것을 알 수 있다. -A 옵션을 통해 192.168.219.107 열려있는 port를 자세히 확인했다. 192.168.219.107 페이지 접속해 페이지를 확인했다. http://192.168.219.107/?nid=2' 입력 시 SQL Error를 확인할 수 있다. sqlmap을 이용해 --dbs(DB 정보) --batch(기본 동작) --risk(위험 정도) --level(테스트 레벨) 옵션을 사용했다. d7db, information_schema DB를 확인할 수 있다. d7db 데이터 베이스를 같은 명령어로 조회했다. users라는 table을 확인할 수 있다. users라는 table을 dum..
- 감사 및 액세스 로그를 통해 침해 발생 분석 및 침해 시도 여부 모니터링 elasticsearch.yml 파일에서 아래와 같이 보안감사를 설정해준다. Dev Tools 메뉴에서 query를 보낸다. Logs 폴더에 [clustername]_audit-[날짜].json 파일이 생성되는 것을 알 수 있다. elasticsearch_audit.json 파일을 보면 전부 기록되는 것을 알 수 있다.
- Node간 통신 암호화 적용 elasticsearch-certgen 명령어 실행하여 인증서를 생성했다. elasticsearch 폴더 위치에서 config/certs 인증서 압축파일을 풀었다. elasticsearch.yml 파일에서 아래와 같이 인증서 경로를 설정해준다. Elasticsearch 페이지 접속 시 SSL 적용된 것을 알 수 있다. kibana.yml 설정 파일에서 SSL 인증서 경로를 설정했다. elasticsearch.hosts 파일을 설정해주지 않으면 아래와 같은 오류가 발생한다. Kibana 페이지 접속 시 SSL 적용되어 있는 것을 알 수 있다.
- default 계정 외 별도의 관리자 계정 생성 및 관리 curl 명령어를 이용해 superuser 권한의 계정을 생성했다. elasticsearch-users 명령어를 이용해 superuser 권한 계정을 생성할 수 있다. 생성한 superuser 권한을 가진 test2 계정으로 로그인 Kibana Users 메뉴에 보이지 않는 것을 알 수 있다. list 옵션을 사용하면 test2 : superuser을 확인할 수 있다. config/users_roles 파일에서도 superuser : test2에서도 확인할 수 있다. superuser 권한의 계정을 가진 elastic을 비활성화시켰다. elastic 계정이 Disabeld로 설정되어 있는 것을 알 수 있다.
- Kibana 웹 접근 로그인 기능 활성화 및 기본 패스워드를 사용할 경우 비 인가자의 접근이 가능하므로 변경 필요 kibana.yml 설정파일을 보면 username, password 부분을 변경해줘야 한다. password를 자동으로 생성해주는 auto 옵션을 이용해 아래와 같이 password가 생성된다. username, password 부분을 주석 제거 후 자동으로 생성된 password를 입력한다. elasticsearch.username을 잘못 입력했을 경우 아래와 같은 [warning][task_manager] 메시지를 보여준다. elasticsearch.passsword을 잘못 입력했을 경우 [warning][license][xpack] 오류 메시지를 보여준다. interactive 옵..