SSH 터널링에 일부 설정이 필요할 때 ProxyChains를 활용하는 경우 그 이유가 궁금합니다.

SSH 터널링에 일부 설정이 필요할 때 ProxyChains를 활용하는 경우 그 이유가 궁금합니다.

제공된 정보: IP 1.1.1.1의 시스템에 대한 루트 액세스 권한이 있고 포트 22를 엽니다.

취약점을 악용하고 해당 컴퓨터에 응용 프로그램을 설치하지 않고 다시 로그인하여 루트 액세스 권한을 얻으려는 대신(컴퓨터에 역방향 셸을 생성하면 감지될 수 있음) 새로운 접근 방식과 에이전시를 시도해 보세요. 체인.

내 생각은 웹 서버에 대한 터널을 설정하고 내부 네트워크 매핑을 시작하기 위해 정보를 전달하는 것입니다. 우연히 프록시 체인을 발견했는데 conf 파일에서 8080과 같은 포트를 구성하고 proxychains ifconfig다음 명령을 실행하는 것만큼 간단합니다. proxychains nmap --script=discovery $ip

프록시 체인을 사용하기 전에 완료해야 할 몇 가지 구성이 있는 것 같습니다.왜?. 아래에 첨부하겠습니다.

먼저 웹 서버의 루트 액세스 권한으로 포트 22를 열고 다음과 같은 관리자 권한이 있는 사용자를 생성하겠습니다.주립 농장의 잭.

그런 다음 공격 시스템에서 다음을 수행합니다.

ssh -f -N -R 2222:127.0.0.1:22 [email protected]
# Enter password for jakefromstatefarm
ssh -f -N -D 127.0.0.1:8080 -p 2222 [email protected]
# Enter password for atkMachineUser

이제 conf 파일을 편집하여 포트 8080에서 프록시 체인을 사용하겠습니다.

proxychains ifconfig

저를 혼란스럽게 하는 질문은 왜 이러한 터널 그룹을 미리 설정해야 합니까?입니다. 다른 시스템과 통신하려면 사용자 자격 증명이 필요하기 때문입니까? 이렇게 하면 머신이 자격 증명을 유지하고 프록시 체인은 아무 것도 유지 관리할 필요가 없게 됩니다.

이론적으로 포트 22를 사용하여 1.1.1.1의 웹 서버와 직접 통신하고 해당 명령을 실행하기 위해 프록시 체인을 설정할 수 없는 이유를 모르기 때문에 혼란스럽습니다.

SSH 터널링을 올바르게 이해하려고 노력 중입니다.

나는 많은 정보, 위키 페이지, 책을 읽었으며 일부 개념은 막연하게 이해하지만 아직 따뜻하고 모호한 아이디어는 없습니다. 그런데 누군가가 내가 5살 때처럼, 횡설수설을 덜 하는 것처럼 설명해주면 기쁠 것 같아요.

답변1

SSH 설명

내가 잘못 이해했다면 누군가가 끼어들 수도 있지만 이것이 내가 이해하는 방식입니다.

원격 호스트에 수신 대기 포트를 생성하고 이를 로컬로 리디렉션합니다. 이렇게 하면 머신에서 트래픽을 라우팅해야 하는 위치를 결정할 필요가 없으므로 나중에 라우팅을 구성할 필요가 없습니다. 따라서 원격 호스트는 수신하는 트래픽을 기반으로 어디로 보낼지 결정합니다.

프록시체인은 트래픽을 8080으로 보냅니다. -> 원격 피해자의 수신 대기 포트 2222로 트래픽을 보냅니다. 그러면 해당 호스트의 루프백 22로 되돌아갑니다. 이제 호스트는 트래픽이 어디로 가는지 제어할 수 있습니다. 그렇기 때문에 이렇게 조정해야 합니다.

이 방법을 사용하면 피해자 호스트에 라우팅 책임이 부여되며, 이것이 바로 피벗이 작동하는 방식입니다.

[공격자]8080 <--> 2222[피해자]<-->22[피해자:]

첫 번째 단계를 건너뛰면 컴퓨터는 궁극적으로 어떤 경로를 선택할지 결정하고 일반적으로 사용자를 통해 얻을 수 있는 네트워크 경로로 트래픽을 보내 원하지 않는 결과를 제공합니다. 세그먼트 라우팅 호스트 대신 ISP 네트워크 또는 일부 공용 서버 네트워크 반대편에 있습니다.

[공격자]8080 <--> 22[피해자:]

관련 정보