관리 메뉴

Jsecurity

commix 명령 인젝션(command injection) 도구 본문

Linux/Kali-Linux

commix 명령 인젝션(command injection) 도구

Great king 2019. 4. 22. 20:10

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/

 

Commix-Command Injection Exploiter (Beginner’s Guide)

In this article, we learn how to use Commix from scratch by using all the basic commands and going all the way to the advanced ones. Table of Content Introduction to command injection Introduction to Commix Working of Commix Types of Commix Requirements In

www.hackingarticles.in

 

예제연습

https://null-byte.wonderhowto.com/how-to/use-commix-automate-exploiting-command-injection-flaws-web-applications-0189044/

 

How to Use Commix to Automate Exploiting Command Injection Flaws in Web Applications

The ability to execute system commands via a vulnerable web application makes command injection a fruitful attack vector for any hacker. But while this type of vulnerability is highly prized, it can often take quite a bit of time to probe through an entire

null-byte.wonderhowto.com

Kali 공식 사이트 TOOL 설명

https://tools.kali.org/exploitation-tools/commix

 

Commix

 

tools.kali.org

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
Comments