KoreanHackerTeam
Moderator
前言
Evil-Winrm이 도구는 원래 HackPlayers 팀이 개발했습니다. 이 도구를 개발하는 목적은 특히 Microsoft Windows 환경에서 가능한 한 많은 침투 테스트를 단순화하는 것입니다.
Evil-Winrm은 PowerShell 원격 프로토콜 (PSRP)을 사용하며 Windows Remote는 종종 시스템 및 네트워크 관리자가 사용합니다.
관리 프로토콜이 업로드 및 관리됩니다. WinRM은 HTTP Default Port 5985를 통해 사용할 수있는 방화벽 친화적 인 비누 프로토콜입니다.
HTTP 운송과 함께 사용됩니다. PowerShell 원격 처리에 대한 자세한 내용은 공식 Microsoft 웹 사이트를 방문하십시오.

Enable-PSRemoting (Microsoft.PowerShell.Core) - PowerShell
This cmdlet is only available on the Windows platform. The Enable-PSRemoting cmdlet configures the computer to receive PowerShell remote commands that are sent by using the WS-Management technology. WS-Management based PowerShell remoting is currently supported only on Windows platform...
learn.microsoft.com
Evil-winrm介绍
Evil-Winrm은 루비 언어를 사용하여 개발 된 오픈 소스 도구입니다. 이 도구에는 일반 텍스트 비밀번호가있는 원격 로그인, SSL을 포함하여 많은 멋진 기능이 있습니다.암호화 된 로그인, NTLM 해시 로그인, 키 로그인, 파일 전송, 로그 스토리지 및 기타 기능. 이 개발 도구의 저자는 도구를 지속적으로 업데이트하고 업데이트를 오랫동안 유지하고 있습니다. 사용
Evil-Winrm, 우리는 원격 호스트의 PowerShell 명령 터미널 세션을 얻을 수 있습니다. 이 도구는 Kali Linux 시스템에 통합되어 있지만 별도로 다운로드하려면 공식 Git 저장소에서 다운로드 할 수 있습니다.
다운로드 링크 : https: //github.com/hackplayers/evil-winrm
위에서 언급 한 바와 같이
Winrm 服务发现
, 원격 호스트에서 활성화 된 경우WinRM 서비스는 악의적 인 도구 사용과 관련이 있습니다. 대상 시스템이 WinRM 서비스를 활성화했는지 여부를 확인하기 위해 NMAP를 사용하여 2 개의 기본 WinRM 서비스 포트 5895를 찾을 수 있습니다.
5896 켜져 있는지 여부. NMAP 스캔 결과에서 WinRM 서비스가 활성화되어있어 Evil-WINRM 도구를 사용하여 로그인하고 수평 단계에서 탐색 할 다른 작업을 수행 할 수 있습니다.
NMAP -P 5985, 5986 192.168 .1 .19
:

Evil-winrm help命令帮助
Evil-Winrm의 사용 가능한 모든 기능을 나열하려면 -H 플래그를 사용하여 모든 도움말 명령을 설명과 함께 나열 할 수 있습니다.사악한 -H -H

使用纯文本密码登录
계정 열거 단계에서 일반 텍스트 비밀번호를 얻었고 원격 호스트가 WinRM 서비스를 활성화 한 것으로 나타 났으며, evil -Winrm을 사용하여 -U 매개 변수와 함께 대상 시스템 IP 주소를 사용하여 대상 시스템에서 원격 세션을 수행 할 수 있습니다. 아래 그림과 같이 원격 PowerShell 세션이 설정되었음을 알 수 있습니다.Evil -Winrm -i 192.168.1.19 -u 관리자 -p gnite@987

使用纯文本密码登录 - 启用 SSL
위에서 언급 한 바와 같이 WinRM 서비스는 HTTP 프로토콜을 통해 트래픽을 전송할 수 있으며 SSL (Secure Sockets Layer) 기능을 사용하여 연결을 안전하게 지정할 수 있습니다. SSL이 활성화되면 우리의 데이터는 암호화 된 보안 소켓 레이어를 통해 전송됩니다. Evil -Winrm을 사용하여 -s 매개 변수를 사용하여 원격 호스트와의 보안 전송 명령을 설정할 수 있습니다.Evil -Winrm -i 192.168.1.19 -u 관리자 -p gigite@987 -s

使用 NTLM Hash 登录 - 通过哈希攻击
인트라넷의 침투 또는 해결Windows 권한 권한 에스컬레이션 및 Active Directory 사용과 관련된 프로젝트에서는 종종 다양한 공격 방법을 통해 NTLM 해시 값을 얻습니다.
우리가 Windows 인트라넷 환경에 있다면, 우리는 악의적 인 해시 공격을 수행하여 Evil-Winrm을 사용하여 PowerShell을 만들 수 있습니다.
해시를 원격 로그인에 일반 텍스트 비밀번호를 사용하는 대신 암호로 해시를 사용할 수 있도록 세션. 또한이 공격은 다른 프로토콜을 지원합니다. 해시를 전달합니다 -H 매개 변수를 사용할 수 있습니다.
Evil -Winrm -I 192.168.1.19 -U 관리자 -H 32196B56FFE6F45E294117B91A83BF38

加载 Powershell 脚本
Evil-Winrm은 또한 대상 호스트와 함께 제공되는 PowerShell 스크립트를 사용할 수있는 기능을 제공합니다. 스크립트는 메모리에 직접로드 될 수 있으며 -S 매개 변수와 함께 대상 시스템에 연결된 PowerShell 스크립트의 상대 경로를 사용할 수 있습니다. 또한이 도구는 스크립트를 가져 오기 전에 자주 필요한 AMSI 기능을 제공합니다. 다음 예에서는 AMSI 기능을 우회하여 시스템에서 직접 호출합니다.Invoke-Mimiktz.ps1 스크립트는 대상 호스트에 배치되어 메모리에로드됩니다. 그런 다음 Mimikatz 명령을 사용할 수 있습니다. 데모 목적으로 캐시에서 시스템 로그인 자격 증명을 직접 버렸습니다. 자격 증명을 덤프 한 후 해시 패스 공격에 획득 된 NTLM 해시를 다시 사용할 수 있습니다.

Evil -Winrm -i 192.168.1.19 -u 관리자 -p gigite@987 -s/opt/privsc/powershell
우회 -4msi
invoke-mimikatz.ps1
MIMIKATZ

使用 Evil-winrm 存储日志
이 기능은 원격 세션을 얻은 후 실행 명령의 로그가 로컬 시스템에 저장되었음을 의미합니다. 프로젝트를 진행할 때는 후속 보고서 및 출력을 수행하기 위해 자격 증명을 공격해야합니다. 모든 로그는 -L 매개 변수를 사용하여 호스트 시스템에 저장하고 기본적으로 /root /vil-Winrm-Logs 디렉토리에 저장 될 수 있습니다. 다음 예에서는 ipconfig 명령을 동시에 사용하고 명령 출력 정보를 호스트 시스템에 저장할 수 있습니다.Evil -Winrm -i 192.168.1.19 -u 관리자 -p gigite@987 -l

저장된 로그 컨텐츠를 확인하여 명령 로그 출력이 성공적으로 저장되어 있는지 확인할 수 있습니다. 위의 명령의 로그 정보 출력이 저장되었음을 알 수 있습니다.

禁用远程完整路径功能
기본적으로 도구에는 원격 전체 경로 기능이 제공되지만 원격 경로 전체 경로 기능을 비활성화하려면 명령에서 -n 매개 변수를 사용할 수 있습니다. 개인이 경로 전체 기능을 켜거나 끄는 것을 좋아하는지 여부에 따라 다르지만 자동 전체 경로 기능에 만족하는 경우 기본 기능을 자유롭게 사용할 수 있습니다.Evil -Winrm -i 192.168.1.19 -u 관리자 -p gigite@987 -n

禁用彩色界面
Ovil-Winrm을 사용할 때마다 원격 세션을 만들 때마다 아름다운 색상 명령 줄 인터페이스가 생성됩니다. 그럼에도 불구하고 색상 인터페이스 기능을 비활성화하려면 -N 매개 변수를 사용하여 세션을 만들 때 기능을 비활성화 할 수도 있습니다.Evil -Winrm -i 192.168.1.19 -u 관리자 -p gigite@987 -n

运行可执行文件
이 기능은 명령 줄에 넣을 수없는 PowerShell 세션을 수행하면서 평가 중에 발생하는 실시간 문제와 어려움을 해결하도록 설계되었습니다. 이 경우 Exe 실행 파일을 Evil-Winrm 세션에서 실행할 수 있기를 원합니다. 대상 시스템에서 실행할 실행 파일이 있다고 가정합니다.
HackPlayers 팀은 다시 도구를 설계하고 Evil-Winrm PowerShell 세션에서 모든 실행 파일을 실행하기 위해 추가 기능을 추가했습니다. 마찬가지로 -E 매개 변수를 사용하여 EXE 실행 가능한 바이너리를 실행할 수 있습니다. 다음 예에서는 winpeas.exe 실행 파일이 로컬 컴퓨터 /opt /privsc directory에 저장되고 추가 함수 (Evil-Winrm 메뉴의 invoke binary 명령)를 사용하여 실행합니다. 이 기능을 사용하면 명령 줄 쉘에서 실행되는 모든 exe binary를 실행할 수 있습니다.
Evil -Winrm -i 192.168.1.19 -u 관리자 -p Ignite@987 -e /opt /privsc
우회 -4msi
메뉴
Invoke-binary /opt/privsc/winpeasx64.exe

실행 가능한 경로를 설정하면 대상 시스템에서 실행하려는 실행 파일을 사용할 수 있습니다. 다음 예에서는 WinPeasx64.exe를 호출하여 Evil-Winrm을 사용하여 대상 시스템으로 실행합니다.

使用 Evil-winrm 进行服务查询
때때로 침투 후 테스트 도구는 대상 시스템에서 실행되는 서비스 이름을 감지 할 수 없습니다.이 경우 Evil-Winrm을 사용하여 대상 시스템에서 실행되는 서비스 이름을 찾을 수 있습니다. 이렇게하려면 메뉴로 다시 이동하여 서비스 기능을 사용할 수 있습니다.
프로그램 호스트를 실행하는 모든 서비스를 나열합니다.

使用 Evil-winrm 进行文件传输
Evil-Winrm이 가능한 한 간단하게 사용하기 위해 최선을 다했다는 것은 의심의 여지가 없습니다. 우리는 항상 공격 시스템에서 원격 시스템으로 파일을 전송하여 명령 작업을 수행해야합니다. 그리고 Evil-Winrm 도구는 특히 대상 시스템에 설정된 아웃 바운드 트래픽 규칙에 직면 할 때와 프록시와 함께 Evil-Winrm을 사용할 때 매우 실용적인 기능을 제공합니다. 다음 예에서는 /루트 디렉토리의 notes.txt 파일을 대상 시스템에 업로드합니다.
파일은 대상 시스템에서 공격자의 컴퓨터로 다운로드됩니다. 마찬가지로 다음 명령을 사용하여 다운로드 할 수 있습니다.
notes.txt /root/raj/notes.txt를 다운로드하십시오


从 Docker 使用 Evil-winrm
이 도구를 설치할 수도 있습니다Docker에서. 우리가 Docker에 Evil-Winrm에 설치하는 경우 Docker에서 호출 할 수도 있습니다.
메인 시스템처럼 실행됩니다. 이렇게하려면 Docker 구문과 Evil-Winrm 명령을 따라 Docker에서 호출하십시오.
Docker Run --rm -ti --- 이름 사악한 -Winrm Oscarakaelvis/Evil -Winrm -I 192.168.1.105 -U 관리자 -p 'ignite@987'

使用 Evil-winrm 密钥登录
Evil -Winrm을 사용하면 공개 및 개인 키를 사용하여 원격 세션을 설정하고 -K 및 개인 키가있는 매개 변수 및 -C 및 공개 키가있는 매개 변수를 사용할 수 있습니다. 또한 -S 매개 변수를 추가하여 SSL이 암호화 및 보안에 연결할 수 있도록 할 수 있습니다.Evil -Winrm -i 10.129.227.105 -C 인증서 .pem -k priv -key.pem -s
