본문 바로가기

해킹-보안

(97)
sqlmap 사용법 ி Sqlmap SQL Injection 취약점을 찾고 공격하는 과정을 자동화한 취약점 진단 도구이다. 데이터베이스 정보와 데이터 추출, 쉘 침투를 통한 시스템 공격 등이 가능하다. 일반 옵션 -u URL, --url=URL 대상 URL --cookie=COOKIE HTTP 쿠키값 ( "PHPSESSID=a8d127e.." ) --dbms=DBMS DBMS ( mysql, mssql ) --batch 사용자 입력을 요구하지 않는다. --flush-session 현재 대상의 세션 파일을 초기화 --threads=THREADS 최대 HTTP 요청 수 (default 1) -v VERBOSE Verbosity level: 0-6 DBMS 정보 확인 (default 1) --data=DATA "user=USER..
hydra 패스워드 크랙툴 사용법 hydra는 패스워드를 무작위로 대입하는 툴로서 가능한 경우의 수를 모두 대입한다.명령어 옵션은 아래와 같다. -t : 쓰레드 개수를 지정하여 병렬적으로 작업한다.최대 64개까지 지정할 수 있으며 많이 줄수록 작업 속도가 빨라진다. -V : 시도하는 계정과 비밀번호를 화면에 보여준다. -f : 로그인 성공 시 작업을 종료한다. -x : 사전 파일없이 자체적으로 비밀번호를 생성한다.형식 : min:max:charset 3:3:a = 3글자 소문자 비밀번호를 생성한다4:6:1aA% = 4~6글자 숫자,소문자,대문자,%를 생성한다. -p : 사전에 만들어둔 패스워드 파일을 이용하여 작업한다. ※ 윈도우 smb - 윈7(192.168.111.129)smb 보안패치 완료된 os에서는 안먹힌다. # nmap -sV..
파일 업로드/다운로드 취약점 공격 ி 파일 업로드 취약점 파일 업로드 기능이 존재하는 웹 어플리케이션에서 확장자 필터링이 제대로 이루어지지 않았을 경우 공격자가 악성 스크립트 파일을 업로드하여 해당 스크립트를 통해 원격에서 시스템을 제어할 수 있다. 버프스위트를 이용하여 dvwa에 업로드가 제한된 파일을 강제로 업로드하는 실습을 진행해보자. #1 파일 크기 제한 웹서버가 파일 업로드 용량을 10kb로 제한하였다. 그 이상의 용량을 업로드하려면 MAX_FILE_SIZE를 설정하면 된다. #2 제한된 확장자 업로드 서버에서 php,asp,jsp 확장자는 업로드를 제한하였다. 확장자 필터링을 우회하려면 content-type을 image/jpeg로 변경하면 된다. 업로드된 webshell.php 코드는 아래와 같다.
버프스위트(Burpsuite) 설치 및 환경설정 ி 버프스위트 프록시를 사용하여 HTTP 요청을 가로채 분석 및 수정할 수 있으며, 웹 애플리케이션의 취약점을 테스트하거나 해킹 공격을 수행할 수 있는 점검 도구이다. 설치는 아래 주소에서 한다. https://portswigger.net/burp/releases/professional-community-2020-6?requestededition=community 무료는 community 버전이다. ி 환경 설정 burpsuite를 사용하려면 윈도우에서 프록시 설정을 해줘야한다. 윈도우 검색창에 수동 프록시 설정 변경을 입력하고 해당 기능을 활성화 시켜준다. 그리고 IP는 127.0.0.1, 포트는 시스템에서 사용하지 않는 포트를 적어준다. 필자는 8080으로 설정하였다. 그 후 저장 버튼을 눌러야 적용..
BeEF Framework를 이용한 웹 브라우저 후킹 ி BeEF(Browser Exploitation Framework) 웹 브라우저 공격을 위한 테스트 모듈이 포함된 프레임워크다. BeEF는 "hook.js"라는 후킹을 위한 JavaScript 파일을 가지고 있으며, 피해자가 취약한 웹 페이지에서 해당 파일을 실행하면 BeEF 서버에 의해 악의적인 명령이 실행될 수 있다. ி BeEF 설치 # git clone https://github.com/beefproject/beef.git # cd beef; ./install # vi beef/config.yaml beef는 Default passwd 사용을 제한하고 있으니 config.yaml에서 다른 password로 변경한다. BeEF 접속 주소는 127.0.0.1:3000/ui/panel이다. # ./b..
setoolkit을 이용하여 피싱 사이트 만들기 setoolkit은 사회공학기법을 이용하는 도구의 모음이다. 사회공학의 핵심은 대상에게 신뢰를 주어 자신이 공격당하는 것을 눈치 채지 못하게 만드는 것이다. 그 유형중의 하나가 피싱 사이트이다. 칼리리눅스는 기본적으로 setoolkit이 설치되어있다. 업데이트는 아래 명령으로 수행한다. # apt install setools # setoolkit site cloner setoolkit은 가짜 facebook, twitter, google 등.. 피싱 사이트를 제작할 수 있는 기능을 보유하고 있다. setoolkit의 사용법은 아래와 같다. # setoolkit ① Social-Engineering Attacks ② Website Attack Vectors ③ Credential Harvester Atta..
Blind SQL Injection 공격 시연 ி Blind SQL Injection 기본 조건 - 쿼리결과가 참/거짓일 경우의 웹페이지의 반응을 확인한다. - 문자열 비교시 참 반응만을 확인하여 해당 내용을 추출한다. ி Blind SQL Injection 쿼리에 사용하는 함수 - substring : 첫번째 인자로 받은 문자열을 지정한 길이만큼 출력하는데 사용하는 함수 1) substring("source_data",1,2)='so' 2) substring("source_data",1,2)='ur' 1번에서 반환되는 결과는 'so'가 맞으니 결과는 참이다. 2번에서 반환되는 결과는 'so'인데 매칭하는 값이 다르니 거짓이다. - limit : 문자열의 길이를 반환할 때 사용하는 함수 SELECT column_name FROM columns lim..
Union SQL Injection 공격 시연 ி 개념 Union SQL Injection은 기존 정상쿼리와 악성쿼리를 합집합으로 출력하여 정보를 획득한다. Injection을 수행할 때는 기존 검색결과와 우리가 원하는 쿼리를 Union으로 합쳐서 조회한다. 먼저 SQL 문법인 Union에 대하여 이해할 필요가 있다. Union은 두 개 이상 select문의 합친 결과를 출력한다. 이때 불러오는 칼럼의 개수는 서로 같아야한다. 아래 union sql 문법을 통해 알아보자. select * from table1 union select * from table2; 이는 table1과 table2의 조회 결과를 합쳐서 보여주는데 각 테이블의 Column수가 다르면 아래와 같은 문법 에러가 발생한다. "각각의 UNION query는 같은 수의 columns를..