
일부 펜테스트 도구입니다. 일부 펜테스팅 도구를 설치하고 최신 상태로 유지하세요. 저는 OSCP 시험에 합격하기 위해 이것을 사용했습니다.
모든 침투 테스트 도구를 한 곳에서 관리하고 하나의 명령으로 최신 상태로 유지하세요 😎
sometools의 목표는 Kali에 포함되지 않았거나 sudo apt install로 설치할 수 없는 모든 도구를 관리할 수 있도록 하는 것입니다. sometools는 도구가 리포지토리인 경우 더 잘 작동하지만, 리포지토리 없이도 작동하도록 조정할 수 있습니다.
저는 Kali-Linux에 포함되지 않은 일부 도구를 관리하고 최신 상태로 유지할 방법을 찾고 있었습니다. 예를 들어, 권한 상승 스크립트를 쉽게 관리할 방법을 찾고 있었습니다. 어느 날 eugenekolo의 sec-tools(페이지 하단에서 볼 수 있음)를 보고 바로 제 작업을 시작할 동기를 얻었습니다. 제 주요 동기는 check-update-all 명령어였는데, 이 명령어를 사용하면 설치된 모든 도구를 원활하게 업데이트할 수 있었습니다.
하지만 이 점이 다르다는 점을 명심하세요. 저는 Kali를 사용하는 사람들을 위해 이것을 만들었습니다. 다른 배포판에서도 작동해야 하지만, Burp Suite나 SQLmap과 같은 도구는 Kali에 기본으로 포함되어 있기 때문에 포함하지 않았습니다.
$ git clone https://github.com/som3canadian/Some-Tools $ cd Some-Tools $ ./sometools.sh setup
$ ./sometools.sh list
## 기본 사용법

**참고**: 도구를 사용할 때 카테고리 이름을 지정할 필요가 없습니다. 도구 이름이나 ID만 사용하면 됩니다. 도구 ID는 `./sometools.sh list`를 실행하여 확인할 수 있습니다.
가장 많이 사용되는 작업은 다음과 같습니다:
- list
- install
- check-update-all
- git-search
- self-update```bash
# Inital setup. Should be the first command
$ ./sometools.sh setup
# List all available tools
$ ./sometools.sh list
# List all available tools of a category
$ ./sometools.sh list-cat Utilities
# List install tool(s)
$ ./sometools.sh list-installed
# List installed tools accessible from anywhere on your machine
$ ./sometool.sh list-bin
# Install a tool
$ ./sometools.sh install unicorn
# Using ID instead of tool name
$ ./sometools.sh install 4
# Install all tools of a Category
$ ./sometools.sh install-cat PrivEsc-Win
# Install All tools
$ ./sometools.sh install all
# Check update for all installed tools
# check-update-all command is the main reason why I made this
$ ./sometools.sh check-update-all
# Check for update
$ ./sometools.sh check-update PEAS
# Using ID instead of tool name
$ ./sometools.sh check-update 9
# Search for a tool on github
$ ./sometools.sh git-search LinEnum
# Search for a PoC in the PoC-in-GitHub tool
$ ./sometools.sh search-poc
# Show README.md of an installed tool
$ ./sometools.sh info unicorn
# Using ID instead of tool name
$ ./sometools.sh info 4
# Add a new tool
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin
# Uninstall a tool
$ ./sometools.sh uninstall unicorn
# Using ID instead of tool name
$ ./sometools.sh uninstall 4
# Unistall all tools of a Category
$ ./sometools.sh uninstall-cat PrivEsc-Win
# Update some-tools
$ ./sometools.sh self-update
# Delete all installed tools, remove bin directory and delete our modification in .zshrc or .bashrc
$ ./sometools.sh complete-uninstall
bin 디렉터리는 설정 작업을 수행할 때 생성됩니다. 이 디렉터리는 셸 $PATH (your/install/dir/Some-Tools/bin)에 추가할 경로입니다. bin 디렉터리에는 우리가 기계 전체에서 실행 가능하게 만들고 싶은 도구의 복사본(심볼릭 링크)을 넣을 것입니다. 예를 들어 unicorn.py 같은 도구의 경우, unicorn을 어디서든 실행하고 싶을 수 있습니다.
설정 작업은 과정에서 bin/PrivEsc-Lin과 bin/PrivEsc-Win도 생성합니다. 이 디렉터리에는 권한 상승 스크립트를 보관합니다. 따라서 도구를 사용하고 싶을 때 python http 서버를 실행하고 원하는 스크립트를 빠르게 업로드할 수 있습니다. 해당 폴더의 스크립트는 check-update 작업으로 도구를 업데이트할 때 동시에 업데이트됩니다.
참고:
setup (설정 과정):
.bashrc 또는 .zshrc 중 어떤 셸을 사용할지 물어볼 것입니다 (내장된 설정 작업은 두 셸 중 하나를 사용하지 않으면 작동하지 않습니다).echo $PATH를 실행하면 됩니다.sometools.sh의 설정 섹션을 읽으면 더 잘 이해할 수 있습니다. ```bash
$ ./sometools.sh setupinstall 및 install-all:
./sometools.sh list를 실행할 때 표시되는 ID 번호를 사용할 수 있습니다..installed 파일이 생성됩니다. 이 파일은 설치된 목록 확인(list-installed) 작업에 도움이 됩니다. ```bash
$ ./sometools.sh list # see which tool can be install$ ./sometools.sh install LinEnum


self-update:
pull을 원하는지 묻습니다. ```bash
$ ./sometools.sh self-updateuninstall:
./sometools.sh list를 실행할 때 표시되는 ID 번호를 사용할 수 있습니다. ```bash
$ ./sometools.sh uninstall unicorn$ ./sometools.sh uninstall 4
add-tool:
install-tool.sh, uninstall-tool.sh, .gitignore 세 개의 파일을 생성합니다.add-tool 액션이 생성해 주는 세 개의 파일이 전부입니다.PrivEsc-Lin 디렉토리에 있는 lse 도구의 예를 참고할 수 있습니다. 도구 디렉토리의 파일을 변경해야 할 수도 있습니다.Zsh 함수에는 펜테스트 도구가 포함되어 있지 않으며, 제 작업 흐름에 많은 도움을 주는 작은 스크립트들이 포함되어 있습니다. 다른 사람들에게도 유용할 것이라고 생각했습니다.
다른 셸에서도 사용할 수 있지만, 저는 zsh에서 사용합니다.
이것은 설정 과정에서 설정되지 않습니다. 수동으로 설정해야 합니다. 어떻게? 아래 스니펫을 .zshrc 파일에 추가하면 됩니다.```bash
fpath=(~/path/of/sometools/Zsh-Functions $fpath); autoload -U $fpath[1]/*(.:t)
- mkcd: mkdir와 cd
- mv: 파일/폴더를 현재 디렉터리로 이동합니다 (인수 하나로)
- op: 파일 관리자에서 파일 또는 폴더를 엽니다 (`op .`로 현재 디렉터리 열기)
## 기타
- 툴 이름 대신 ID 번호를 사용할 때는 `./sometools.sh list`의 ID 번호를 사용하고 `./sometools.sh list-installed`의 ID 번호를 사용하지 않도록 하십시오.
- 특정 업데이트 지침이 필요한 새 툴을 추가하는 경우, 툴 디렉터리에 `update-tool.sh` 파일(install-tool.sh 및 uninstall-tool.sh 파일과 같이)을 생성할 수 있습니다. check-update를 실행하면 some-tools.sh 스크립트가 이를 고려합니다.
- 두 개의 툴에 같은 이름을 사용할 **수 없습니다**. 문제가 발생합니다. add-tool 작업을 사용할 때 이를 확인합니다. 해결 방법은 작업을 사용할 때 카테고리 이름을 지정하는 것이지만, **정말로 원하지 않습니다**. 다른 이름을 사용하는 것이 쉽기 때문에, 현재로서는 여러 툴에 같은 이름을 사용할 수 있게 해주는 솔루션을 개발할 의도가 없습니다.
- 설치할 툴 중 일부는 `sudo` 권한을 요구할 수 있습니다!
- 리포지토리에 포함된 `check-git.sh` 파일은 check-update 및 check-update-all 작업을 위한 것입니다.
- 여가 시간에 이 프로젝트를 만들고 있어 버그가 있을 수 있습니다. 별표가 늘어나기 시작하면 더 많은 시간과 노력을 투자할 수도 있습니다.
## 라이선스
개별 툴들은 각자의 라이선스로 라이선스가 부여됩니다. Some-Tools는 GNU General Public License v3.0에 따라 라이선스가 부여됩니다.
⭐ 유용하다고 생각하시면 이 페이지 상단에서 별표를 눌러주세요 ⭐ 또는 저에게 ☕를 사주실 수도 있습니다. 감사합니다 🔥😎
<a href="https://www.buymeacoffee.com/somecanadian" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/3722/eecc7380590efb5bd32637f86ef07884b0e9f1f82f7dbf8b2bc7e8410d721225.png" alt="Buy Me A Coffee" height="51" width="217"></a>
## 감사의 말
- 다음의 아이디어에서 비롯되었습니다: <https://github.com/eugenekolo/sec-tools> 및 <https://github.com/zardus/ctf-tools>.
- Vagrant box 제공: [nicmilot](https://app.vagrantup.com/nicmilot/boxes/kali-full-2020). 다른 Vagrant box도 볼 수 있습니다: VMware Fusion용 [pwk-kali-2018](https://app.vagrantup.com/nicmilot/boxes/pwk-kali-2018) 및 VMware Fusion용 [Metapsloitable3](https://app.vagrantup.com/nicmilot/boxes/metasploitable3-win2008-vmware).
| Category | Tool | Description |
|---|
| Evasion | Bashfuscator | 완전히 구성 가능하고 확장 가능한 Bash 난독화 프레임워크입니다. |
| Evasion | Chimera | Chimera는 AMSI 및 상용 안티바이러스 솔루션을 우회하도록 설계된 PowerShell 난독화 스크립트입니다. |
| Evasion | PyFuscation | 함수 이름, 변수 및 매개변수를 대체하여 PowerShell 스크립트를 난독화합니다. |
| Evasion | tvasion | 🎭 PowerShell과 C#을 통한 AES 암호화 기반 파일 서명 변경을 이용한 안티바이러스 우회... |
| Evasion | unicorn | Unicorn은 PowerShell 다운그레이드 공격을 사용하고 셸코드를 메모리에 직접 주입하는 간단한 도구입니다... |
| Exploit-Win | windows-kernel-exploits | windows-kernel-exploits Windows 플랫폼 권한 상승 취약점 모음 |
| PrivEsc-Lin | BeRoot | 권한 상승 프로젝트 - Windows / Linux / Mac |
| PrivEsc-Lin | LinEnum | 스크립트 기반 로컬 Linux 열거 및 권한 상승 검사 |
| PrivEsc-Lin | LinPwn | 대화형 사후 침투 도구 |
| PrivEsc-Lin | PEAS | PEASS - 권한 상승 어썸 스크립트 스위트 |
| PrivEsc-Lin | SUID3NUM | Python 내장 모듈을 활용하여 SUID 바이너리를 열거하는 독립형 Python 스크립트... |
| PrivEsc-Lin | SetUID | 제 개인 권한 상승 가이드 |
| PrivEsc-Lin | linux-enum-mod | 단순한 침투 테스트 자료 모음 |
| PrivEsc-Lin | linux-exploit-suggester | Linux 권한 상승 감사 도구 |
| PrivEsc-Lin | linux-exploit-suggester-2 | 차세대 Linux 커널 익스플로잇 제안기 |
| PrivEsc-Lin | linuxprivchecker | Linux 권한 상승 확인 스크립트 |
| PrivEsc-Lin | lse | 침투 테스트 및 CTF를 위한 Linux 열거 도구, 상세 수준 지원 |
| PrivEsc-Lin | pspy | 루트 권한 없이 Linux 프로세스 모니터링 |
| PrivEsc-Lin | setuid-wrapper | 권한이 상승된 상태에서 셸 스크립트를 실행하기 위한 간단한 setuid 래퍼 프로그램입니다. |
| PrivEsc-Lin | unix-privesc-check | code.google.com/p/unix-privesc-check에서 자동으로 내보냄 |
| PrivEsc-Win | Ghostpack-CompiledBinaries | Ghostpack용 컴파일된 바이너리 (.NET v4.0) |
| PrivEsc-Win | JAWS | JAWS - 또 다른 Windows 열거 스크립트 |
| PrivEsc-Win | Powerless | OSCP 연구소(레거시 Windows)에 맞춰 설계된 Windows 권한 상승(열거) 스크립트 |
| PrivEsc-Win | Privesc | 권한 상승으로 이어질 수 있는 잘못된 구성 문제를 찾는 Windows 배치 스크립트입니다. |
| PrivEsc-Win | SessionGopher | SessionGopher는 WMI를 사용하여 원격 액세스를 위해 저장된 세션 정보를 추출하는 PowerShell 도구입니다... |
| PrivEsc-Win | Sherlock | 로컬 권한 상승 취약점에 대한 누락된 소프트웨어 패치를 빠르게 찾는 PowerShell 스크립트입니다. |
| PrivEsc-Win | WinPwn | 내부 Windows 침투 테스트 / AD 보안 자동화 |
| PrivEsc-Win | Windows-Privilege-Escalation | Windows 권한 상승 기술 및 스크립트 |
| PrivEsc-Win | Windows-Exploit-Suggester | 이 도구는 대상의 패치 수준을 Microsoft 취약점 데이터베이스와 비교합니다... |
| PrivEsc-Win | mimikatz | Windows 보안을 다루는 작은 도구 |
| PrivEsc-Win | wesng | Windows 익스플로잇 제안기 - 차세대 |
| PrivEsc-Win | windows-privesc-check | Windows 시스템에서 간단한 권한 상승 벡터를 확인하는 독립 실행형 실행 파일 |
| Utilities | GraphQLmap | GraphQLmap은 침투 테스트 목적으로 GraphQL 엔드포인트와 상호 작용하는 스크립팅 엔진입니다. |
| Utilities | PoC-in-GitHub | 📡 GitHub에서 PoC 자동 수집. ⚠️ 멀웨어 주의. |
| Utilities | SirepRAT | Windows IoT Core에서 SYSTEM 권한으로 원격 명령 실행 (Python2.7 <> Python3 용 릴리스 제공) |
| Utilities | Windows-Tools | 일부 Windows 도구입니다. |
| Utilities | chisel | HTTP를 통한 빠른 TCP/UDP 터널 |
| Utilities | crackhash | Crackhash는 무료 온라인 서비스를 사용하여 다양한 유형의 해시를 크랙하려고 시도하는 도구입니다. |
| Utilities | cryptz | 🔒 [ 다중 암호화 / 복호화 ] 🔓 |
| Utilities | decodify | 인코딩된 문자열을 재귀적으로 감지하고 디코딩합니다. |
| Utilities | enum4linux-ng | 추가 기능이 포함된 enum4linux(Windows/Samba 열거 도구)의 차세대 버전... |
| Utilities | evil-winrm | 해킹/침투 테스트를 위한 최고의 WinRM 셸 |
| Utilities | haiti | 🔑 해시 유형 식별자 (CLI <> 라이브러리) |
| Utilities | impacket | Impacket은 네트워크 프로토콜 작업을 위한 Python 클래스 모음입니다. |
| Utilities | nishang | Nishang - 레드팀, 침투 테스트 및 공격적 보안을 위한 공격적 PowerShell. |
| Utilities | nmapAutomator | 백그라운드에서 실행할 수 있는 스크립트! |
| Utilities | pypykatz | 순수 Python으로 구현된 Mimikatz |
| Utilities | revshellgen | Python 3로 작성된 리버스 셸 생성기. |
| Utilities | snmp | SNMP 데이터 수집 스크립트 |
| Web | byp4xx | HTTP 40X 응답 우회를 위한 Python 스크립트... |
| Web | fuxploider | 파일 업로드 취약점 스캐너 및 익스플로잇 도구. |
| Web | LFISuite | 완전 자동 LFI 익스플로이터 (+ 리버스 셸) 및 스캐너. |
| Web | MyJWT | JSON 웹 토큰(JWT)의 취약점 크래킹 및 테스트를 위한 CLI |
| Web | php-reverse-shell | PHP 리버스 셸 스크립트. Linux, macOS 및 Windows에서 작동합니다. |
| Web | windows-php-reverse-shell | 바이너리를 사용하여 구현된 간단한 PHP 리버스 셸. |
| Web | wwwolf-php-webshell | WhiteWinterWolf의 PHP 웹 셸 |
| Web | malicious-wordpress-plugin | 업로드되면 리버스 셸을 제공하는 WordPress 플러그인을 간단히 생성합니다. |
| Web | whitepass | 웹 애플리케이션/API에서 화이트리스트/속도 제한 구현을 우회하는 Whitepass |
| Web | wordpress-exploit-framework | WordPress 시스템의 침투 테스트를 지원하기 위해 설계된 Ruby 프레임워크. |
$ ./sometools.sh install 7
$ ./sometools.sh install-all
install-cat 와 uninstall-cat:
$ ./sometools.sh install-cat PrivEsc-Win
$ ./sometools.sh uninstall-cat PrivEsc-Win
check-update 및 check-update-all:
.git 디렉터리) 새 도구를 추가하는 경우, update-tool.sh 파일에 특별 지침을 작성할 수 있습니다 (파일 이름은 update-tool.sh여야 합니다)../sometools.sh list 실행 시 표시되는 ID 번호를 사용할 수 있습니다. ```bash
$ ./sometools.sh list-installed # list currently installed tool(s)
$ ./sometools.sh check-update LinEnum$ ./sometools.sh check-update 7
$ ./sometools.sh check-update-all
check-git이 두 개인 이유? check-git.sh는 도구가 뒤쳐져 있는지만 알려줍니다. 새로운 버전을 감지하면 check-git-action.sh를 실행하도록 요청할 것입니다.
git-search
sortSearch 변수를 변경할 수 있습니다).$ ./sometools.sh git-search LinEnum 15
.gitignoreinstall-tool.sh 파일을 수정해야 합니다. 그렇게 하면 check-update 액션이 "즉시" 작동하지 않습니다 (.git 디렉토리를 찾을 수 없기 때문입니다). 해결책: (도구 디렉토리에) 이름 update-tool.sh 파일을 만들고 그 안에 업데이트 명령을 넣을 수 있습니다. some-tools.sh 스크립트는 check-update 액션을 사용할 때 이 파일 이름을 감지합니다. 새 파일에 chmod +x를 잊지 마세요..gitignore 파일에는 도구 이름과 .installed가 포함됩니다. 왜 ? git 저장소를 다른 저장소로 푸시하고 싶지 않고 .installed 파일도 푸시하고 싶지 않기 때문입니다. ```bash
$ ./sometools.sh add-tool newtoolname PrivEsc-Lin$ ./sometools.sh add-tool LinEnum PrivEsc-Lin
install-tool 및 update-tool with Github API
때때로 도구들은 DominicBreuker의 pspy와 같이 releases/latest 페이지를 통해 다운로드되어야 합니다. 따라서 항상 최신 버전을 업데이트하고 다운로드할 수 있도록 하려면 Github API를 사용하여 프로세스를 약간 변형해야 했습니다. 이 패턴을 사용하여 새 도구를 추가하는 경우 install-tool.sh 및 update-tool.sh 파일에서 아래 함수를 사용할 수 있습니다. ```bash #!/bin/bash
function gitGetLatestRelease() { gitCounter=0 repoToGet="DominicBreuker/pspy" apiURL="https://api.github.com/repos" while [[ $checkDownloadURL != null ]]; do checkDownloadURL=$(http "$apiURL/$repoToGet/releases/latest" | jq -r ".assets[$gitCounter].browser_download_url") if [[ $checkDownloadURL == null ]]; then break fi # download the release wget "$checkDownloadURL" gitCounter=$((gitCounter + 1)) done } gitGetLatestRelease
info:
./sometools.sh list를 실행했을 때 표시되는 ID 번호를 사용할 수 있습니다.info 액션이 사용되면 some-tools가 bat 바이너리를 감지하려고 시도합니다. 감지되면 bat과 cat 중에서 선택하도록 물어봅니다.bat이 감지되지 않으면 묻지 않고 기본적으로 cat이 사용됩니다. ```bash
$ ./sometools.sh info LinEnum$ ./sometools.sh info 7
complete-uninstall:
.zshrc 또는 .bashrc 파일에 추가된 수정 사항을 삭제합니다..zshrc 또는 .bashrc 파일에서 some-tools 섹션만 삭제합니다. 따라서 중간에 추가한 다른 수정 사항은 유지됩니다..zshrc 또는 .bashrc 파일이 3개 있어야 합니다. 하나는 초기 설정 시 생성한 .backup으로 끝나는 파일이고, 두 번째는 .backup2이며, 이는 완전 제거 과정에서 sometools 섹션을 삭제하기 전의 파일입니다. ```bash
$ ./sometools.sh complete-uninstall