일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래밍
- 디지털포렌식 연구회 워크샵 #디지털포렌식 #디지털포렌식챌린지 #Forensic #ctf #정보보호학회
- 안드로이드 #스레드 #핸들러 #예제
- snedmail #linux #정보보안기사 #정보보안산업기사 #mail protocol
- #정보보안 #어셈블리 #저급언어 #기계어 #it #정보보안
- 정보보안기사 #정보보안산업기사 #2020년 정보보안기사 #시험일정
- 파일 접근 권한 #linux #chown #chmond #umask #명령어
- 디지털 포렌식
- forensic
- 객체
- HTML Injection #bWAPP
- PYTHON
- 파이썬
- 안드로이드 #서비스 #안드로이스 서비스 #Android #java
- 비박스 #웹취약점분석 #버그바운티 #bee-box #웹 #모의해킹
- Forensic #CTF #디지털포렌식 #disk forensic
- Injection #Reflected #웹취약점
- 메소드
- Forensic CTF #disk Forensic #windows file analyzer #WFA #Codegate 2012 F100
- 디지털포렌식챌린지 #dfchallenge #디지털포렌식 #Forensic
- evm
- 탈중화
- java
- 포렌식
- CIDR #서브넷 #Network #ip 주소고갈
- 정보보안기사 #정보보안산업기사 #클라우드컴퓨팅 #보안 #컴퓨팅보안
- EnCase #mount #Forensic #image mount
- 자바
- 코딩
- It
- Today
- Total
Jsecurity
commix 명령 인젝션(command injection) 도구 본문
Command Injection 정의
- 커맨드 인젝션은 명령어를 삽입한다는 뜻으로 웹 요청에 시스템 명령어를 보내 이를 실행하도록 하는 방법이다. 웹 내부에서시스템 명령어를 실행하는 경우 사용자가 입력한 값이 올바른지 검사하지 않고 시스템 명령어의 일부분으로 전달한다면, 해커는 이 값을 조작하여 다른 시스템 명령어를 실행할 수 있다.
-응용프로그램이 안전하지 않은 사용자 제공 데이터 ( 양식, 쿠키, HTTP 헤더 등 )를 시스템 쉘에 전달할 때 가능하며 이를 통해서 악성 스크립트나 파일 등을 업로드하여 공격을 한다.
commix 실행순서: 프로그램 > 즐겨찾기 03 - Web Application Analysis > commix
commix란?
커맨드 인젝션 기반 취약점 및 버그를 테스트하는 데 사용되는 오픈 소스 툴이다. 자동화를 수동으로 수행하는데 매우 짧은 시간에 취약한 매개 변수를 식별 할 수 있다.
Commix는 Python 으로 작성되었으며 , Linux , Mac 및 Windows 에서 실행할 수 있습니다 .
또한 Kali Linux , BlackArch 및 Parrot Security OS 의 공식 저장소에도 편리하게 포함되어 있습니다.
모든 것이 바로 사용 가능하며이 도구의 핵심 기능을 확장하기 위해 사용자 정의 모듈 개발을 지원합니다.
commix 패키지에 포함 된 도구
commix - 자동화 된 올인원 OS 명령 인젝션 및 익스플로잇 도구
root @ kali : ~ # commix -h
사용법 : python commix.py [option (s)]
옵션 :
-h, --help 도움말을 보여주고 종료합니다.
일반 :
이 옵션은 일반적인 문제와 관련이 있습니다.
-v VERBOSE 자세한 표시 수준 (0-4, 기본값 : 0).
--version 버전 번호를 표시하고 종료합니다.
--output-dir = OUT .. 사용자 정의 출력 디렉토리 경로를 설정합니다.
-s SESSION_FILE 저장된 (.sqlite) 파일에서 세션을로드하십시오.
--flush-session 현재 대상에 대한 세션 파일을 플러시합니다.
--ignore-session 세션 파일에 저장된 결과를 무시합니다.
-t TRAFFIC_FILE 모든 HTTP 트래픽을 텍스트 파일에 기록하십시오.
--batch 사용자 입력을 요구하지 말고 기본 동작을 사용하십시오.
대상 :
대상 URL을 정의하려면이 옵션을 제공해야합니다.
-u URL, --url = URL 대상 URL.
--url-reload 명령 실행 후 대상 URL을 다시로드합니다.
-l LOGFILE HTTP 프록시 로그 파일에서 대상을 구문 분석합니다.
-m BULKFILE 텍스트 파일에 주어진 여러 대상을 스캔합니다.
-r REQUESTFILE 파일에서 HTTP 요청을로드합니다.
--crawl = CRAWLDEPTH 대상 URL에서 시작하여 웹 사이트를 크롤링합니다 (1-2,
기본값 : 0).
-x SITEMAP_URL 원격 사이트 맵 (.xml) 파일에서 대상을 구문 분석합니다.
요청 :
이 옵션을 사용하여 대상 URL에 연결하는 방법을 지정할 수 있습니다.
--data = DATA POST를 통해 전송할 데이터 문자열.
--host = 호스트 HTTP 호스트 헤더.
--referer = REFERER HTTP Referer 헤더.
--user-agent = AGENT HTTP User-Agent 헤더.
--random-agent 무작위로 선택된 HTTP User-Agent 헤더를 사용합니다.
--param-del = PDEL 매개 변수 값을 분할 할 문자를 설정합니다.
--cookie = COOKIE HTTP 쿠키 헤더.
--cookie-del = CDEL 쿠키 값을 분할 할 문자를 설정합니다.
--headers = HEADERS 추가 헤더 (예 : 'Header1 : Value1 \ nHeader2 : Value2').
--proxy = PROXY HTTP 프록시를 사용하십시오 (예 : '127.0.0.1:8080').
--tor Tor 네트워크를 사용하십시오.
--tor-port = TOR_P .. Tor 프록시 포트를 설정합니다 (기본값 : 8118).
--auth-url = AUTH_ .. 로그인 패널 URL.
--auth-data = AUTH .. 로그인 매개 변수 및 데이터.
--auth-type = AUTH .. HTTP 인증 유형 (예 : 'Basic'또는 'Digest').
--auth-cred = AUTH .. HTTP 인증 증명서 (예 : 'admin : admin').
--ignore-401 HTTP 오류 401 (인증되지 않음)을 무시합니다.
--force-ssl SSL / HTTPS의 사용을 강제합니다.
열거 :
이 옵션을 사용하여 대상 호스트를 열거 할 수 있습니다.
--all 모든 것을 가져옵니다.
--current-user 현재 사용자 이름을 검색합니다.
--hostname 현재 호스트 이름을 검색합니다.
--is-root 현재 사용자에게 루트 권한이 있는지 확인하십시오.
--is-admin 현재 사용자에게 관리자 권한이 있는지 확인하십시오.
--sys-info 시스템 정보를 검색합니다.
--users 시스템 사용자를 검색하십시오.
--passwords 시스템 사용자 암호 해시를 검색합니다.
--privileges 시스템 사용자 권한을 검색합니다.
--ps-version PowerShell의 버전 번호를 검색합니다.
파일 액세스 :
이 옵션을 사용하여 대상 호스트의 파일에 액세스 할 수 있습니다.
--file-read = FILE .. 대상 호스트에서 파일을 읽습니다.
--file-write = FIL .. 대상 호스트의 파일에 씁니다.
--file-upload = FI .. 대상 호스트에 파일을 업로드합니다.
--file-dest = FILE .. 쓰기 및 / 또는 업로드 할 호스트의 절대 파일 경로.
모듈 :
이러한 옵션을 사용하여 탐지 및 / 또는 주입을 증가시킬 수 있습니다.
기능.
- ICMP-exfil = IP_ .. 'ICMP exfiltration'주입 모듈.
(예 : 'ip_src = 192.168.178.1, ip_dst = 192.168.178.3').
--dns-server = DNS .. 'DNS exfiltration'주입 모듈.
(DNS exfiltration 공격에 사용되는 도메인 이름).
--shellshock '쉘 쇼크'주입 모듈.
주입 :
이 옵션을 사용하여 주입 할 매개 변수를 지정
하고 사용자 정의 주입 페이로드 를 제공 할 수 있습니다 .
-p TEST_PARAMETER 테스트 가능한 매개 변수.
--suffix = SUFFIX 주입 페이로드 접미사 문자열입니다.
--prefix = PREFIX 주입 페이로드 접두어 문자열입니다.
--technique = TECH 사용할 사출 기술을 지정하십시오.
--maxlen = MAXLEN 시간 관련
주입 기술에 대한 출력의 최대 길이를 설정합니다 (기본값 : 10000 자).
--delay = DELAY 시간 관련 주입
기술에 대한 사용자 정의 시간 지연을 설정합니다 (기본값 : 1 초).
--tmp-path = TMP_P .. 웹 서버의 임시 디렉토리의 절대 경로를 설정합니다.
--root-dir = SRV_R .. 웹 서버의 루트 디렉토리의 절대 경로를 설정합니다.
--alter-shell = AL .. 대체 OS 쉘 (예 : 'Python')을 사용하십시오.
--os-cmd = OS_CMD 단일 운영 체제 명령을 실행합니다.
--os = OS 백엔드 운영 체제를이 값으로 강제 설정합니다.
--tamper = TAMPER 주입 데이터를 변경하기 위해 주어진 스크립트를 사용하십시오.
--msf-path = MSF_P .. metasploit이 설치된 로컬 경로를 설정합니다.
탐지 :
이 옵션을 사용하여 탐지 단계를 사용자 정의 할 수 있습니다.
--level = LEVEL 수행 할 테스트 레벨 (1-3, 기본값 : 1).
--skip-calc 탐지
단계 에서 수학 계산을 건너 뜁니다 .
--skip-empty 빈 값으로 매개 변수를 테스트하지 않습니다.
기타 :
- dependencies 타사 (비 핵심) 종속성을 확인합니다.
--skip-was WAF / IPS / IDS 보호의 휴리스틱 탐지를 건너 뜁니다.
--offline 오프라인 모드로 작업합니다.
루트 @ kali : ~ #
TOOL 활용법
https://www.hackingarticles.in/commix-command-injection-exploiter-beginners-guide/
예제연습
Kali 공식 사이트 TOOL 설명
https://tools.kali.org/exploitation-tools/commix
COMMIX 사용법
https://www.youtube.com/watch?v=Wpq3g4PO5S0
'Linux > Kali-Linux' 카테고리의 다른 글
kali- John The Ripper 도구 (0) | 2019.05.06 |
---|---|
Kali-commix 도구 사용하기 (0) | 2019.04.24 |
sqlmap (SQL 인젝션 공격) 도구 (0) | 2019.04.23 |
golismero 취약점 스캔 도구 (0) | 2019.04.20 |
Dmitry 네트워크 스캐닝 (0) | 2019.04.20 |