묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌
VMware Workstation 11
안녕하세요. 강의에서 말씀주신대로 설치 과정에 여러 우여 곡절이 있었지만, VMware Workstation 툴은 간신히 설치를 했습니다. 근데 문제는 30일간 해당 이메일로 이용하려고 하는데 ㅜ 자꾸 이렇게만 뜹니다 ㅠㅠ 지우고 다시 깔아야 하나요?
-
해결됨리눅스 커널 해킹. A부터 Z까지
Kernel KPTI 적용시 영향?
/mnt/c/Users/msh/Desktop/stack_based_BOF 1m 26s ❯ grep ": mov rdi, rax ; rep" ./gadgets.txt 0xffffffff8145a958 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff8145a368 0xffffffff814747df : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81474961 0xffffffff81479c79 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81479cd8 0xffffffff8150a792 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff8150a391 0xffffffff81b08ab4 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81b08a75 0xffffffff82a213e5 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff82a212b9 0xffffffff82a48d7c : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff82a48d92 0xffffffff81b098e6 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; pop rbx ; pop rbp ; ret 0xffffffff82a081f0 : mov rdi, rax ; rep movsd dword ptr [rdi], dword ptr [rsi] ; ret 0xffffffff81132ad8 : mov rdi, rax ; rep movsq qword ptr [rdi], qword ptr [rsi] ; jmp 0xffffffff81132970 0xffffffff81b2413b : mov rdi, rax ; rep movsq qword ptr [rdi], qword ptr [rsi] ; retgef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: Cannot access memory at address 0xffffffff82a081f0 gef➤ x/10xi 0xffffffff81132ad8 0xffffffff81132ad8: mov rdi,rax 0xffffffff81132adb: rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 0xffffffff81132ade: jmp 0xffffffff81132970 0xffffffff81132ae3: call 0xffffffff81b26270 0xffffffff81132ae8: nop DWORD PTR [rax+rax*1+0x0] 0xffffffff81132af0: push r15 0xffffffff81132af2: push r14 0xffffffff81132af4: push r13 0xffffffff81132af6: mov r13,rdi 0xffffffff81132af9: push r12KPTI가 적용된 커널에서 일부는 주소를 찾아도 gdb로 확인을 할 수 없는데, 왜 그런건가요?user level에서 page table이 줄어들어서 특정 부분이 빠지다보니, 그 가젯이 있는 부분도 빠져서 안보이는거 같은데, 약간 이상한거같습니다.[ Legend: Modified register | Code | Heap | Stack | String ] ───────────────────────────────────────────────────────────────────────────────────────────────────────── registers ──── $rax : 0xffffffff81b2c390 $rbx : 0x0 $rcx : 0x0 $rdx : 0x22a $rsp : 0xffffffff82403eb0 $rbp : 0x0 $rsi : 0x83 $rdi : 0x0 $rip : 0xffffffff81b2c3ae $r8 : 0xffff88801f01dec0 $r9 : 0x200 $r10 : 0x0 $r11 : 0x2f7 $r12 : 0x0 $r13 : 0x0 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x10 $ss: 0x18 $ds: 0x00 $es: 0x00 $fs: 0x00 $gs: 0x00 ───────────────────────────────────────────────────────────────────────────────────────────────────────────── stack ──── [!] Unmapped address: '0xffffffff82403eb0' ─────────────────────────────────────────────────────────────────────────────────────────────────────── code:x86:64 ──── 0xffffffff81b2c3a5 verw WORD PTR [rip+0x4d94d6] # 0xffffffff82005882 0xffffffff81b2c3ac sti 0xffffffff81b2c3ad hlt → 0xffffffff81b2c3ae mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 0xffffffff81b2c3b5 nop DWORD PTR [rax+rax*1+0x0] 0xffffffff81b2c3ba pop rbx 0xffffffff81b2c3bb pop rbp 0xffffffff81b2c3bc pop r12 0xffffffff81b2c3be ret ─────────────────────────────────────────────────────────────────────────────────────────────────────────── threads ──── [#0] Id 1, stopped 0xffffffff81b2c3ae in ?? (), reason: SIGINT ───────────────────────────────────────────────────────────────────────────────────────────────────────────── trace ──── [#0] 0xffffffff81b2c3ae → mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── gef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: Cannot access memory at address 0xffffffff82a081f0혹시 몰라서 qemu script에서 qemu64로 바꿔서 kpti를 끄고 gdb를 달아서 테스트를 해봤더니, 이상하게 나오네요.$r12 : 0x0 $r13 : 0x0 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x10 $ss: 0x18 $ds: 0x00 $es: 0x00 $fs: 0x00 $gs: 0x00 ───────────────────────────────────────────────────────────────────────────────────────────────────────────── stack ──── [!] Unmapped address: '0xffffffff82403eb0' ─────────────────────────────────────────────────────────────────────────────────────────────────────── code:x86:64 ──── 0xffffffff81b2c3a5 verw WORD PTR [rip+0x4d94d6] # 0xffffffff82005882 0xffffffff81b2c3ac sti 0xffffffff81b2c3ad hlt → 0xffffffff81b2c3ae mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 0xffffffff81b2c3b5 data16 data16 data16 xchg ax, ax 0xffffffff81b2c3ba pop rbx 0xffffffff81b2c3bb pop rbp 0xffffffff81b2c3bc pop r12 0xffffffff81b2c3be ret ─────────────────────────────────────────────────────────────────────────────────────────────────────────── threads ──── [#0] Id 1, stopped 0xffffffff81b2c3ae in ?? (), reason: SIGINT ───────────────────────────────────────────────────────────────────────────────────────────────────────────── trace ──── [#0] 0xffffffff81b2c3ae → mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── gef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: int3 0xffffffff82a081f1: int3 0xffffffff82a081f2: int3 0xffffffff82a081f3: int3 0xffffffff82a081f4: int3 0xffffffff82a081f5: int3 0xffffffff82a081f6: int3 0xffffffff82a081f7: int3 0xffffffff82a081f8: int3 0xffffffff82a081f9: int3 gef➤vmlinux를 잘못 추출한건가 싶어서 다시 추출해봤는데도 이상합니다.
-
해결됨리눅스 커널 해킹. A부터 Z까지
qemu 스크립트 실행시 Kernel panic이 발생합니다.
리눅스 커널 분석 환경 세팅 단원에서 qemu세팅 부분 수업을 따라하고 있습니다.먼저 boot.sh파일을 만들고 스크립트를 실행하였는데 다음과 같은 에러가 계속해서 반복됩니다.아래 boot.sh파일과 반복 에러 그림을 첨부하겠습니다.감사합니다.스크립트반복에러
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
stats누르면 zealous_hamilton 이라는 컨테이너가 나와요
9:16docker container stats에서 저는 zealous_hamilton 도 있는데 어떤 의미 인가요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker run -v 옵션이 제대로 적용되지 않는 것 같습니다...; ㅅ;
먼저 정말 상세한 강의 너무 잘 듣고 있습니다!! 감사합니다~그런데 따라 하다가 처음으로 영상대로 되지 않는 부분이 생겼습니다.강의 영상 : docker 주요 명령 익히기 5 (10:50)제공된 html 파일이 들어있는 폴더를 EC2에 업로드 하고docker run -d -p 9999:80 -v /home/ubuntu/2021_DEV_HTML:/usr/local/apache2/htdocs --name apacheweb2 httpd이렇게 동일하게 입력했습니다.그리고 그냥 IP주소:9999 로 입력하면 그대로 "It works!" 가 나옵니다...혹시나 싶어 IP주소:9999/index.html 로 접속해봤더니 정상적으로 업로드한 파일이 보입니다.이건 왜 그런걸까요 ;ㅅ ;?
-
미해결취미로 해킹#1(OverTheWire - Bandit)
L23->L24 권한 거부 때문에 작성한 쉘코드를 실행 할 수가 없어요
/tmp/mydir3118/bandit24sh.sh 생성해서 쉘코드 작성하고 chmod 777 /tmp/mydir3118/bandit24sh.sh로 권한도 변경해줬습니다. 그런데 만들 쉘코드 파일을 /var/spool/bandit24로 옮기려니까 권한 거부됬다고 뜨더라구요. bandit23@bandit:/var/spool/bandit24$ ls -al /tmp/mydir3118 total 108 drwxrwxr-x 2 bandit23 bandit23 4096 Jan 28 03:28 . drwxrwx-wt 1025 root root 98304 Jan 28 03:53 .. -rwxrwxrwx 1 bandit23 bandit23 68 Jan 28 03:10 bandit24sh.sh -rw-rw-r-- 1 bandit23 bandit23 0 Jan 28 03:28 rst.txt bandit23@bandit:/var/spool/bandit24$ cp /tmp/mydir3118/bandit24sh.sh . cp: cannot create regular file './bandit24sh.sh': Operation not permitted확인해보니까 /var/spool/bandit24에 write권한이 없었습니다. chmod로 변경해보려는 건 당연히 안된다고 막혔구요... bandit23@bandit:/var/spool/bandit24$ ls -al total 12 dr-xr-x--- 3 bandit24 bandit23 4096 Jan 11 19:18 . drwxr-xr-x 5 root root 4096 Jan 11 19:18 .. drwxrwx-wx 9 root bandit24 4096 Jan 28 03:53 foo어떻게 해야할까요?
-
해결됨리눅스 커널 해킹. A부터 Z까지
Kernel UAF
안녕하세요!kernel uaf 강의를 듣고 궁금한 점이 있는데요, kernel uaf 예제 취약점을 공격할 때, kmalloc에 별다른 크기 조정을 안하고 드라이버에 지정된 0x90크기로 heap을 할당하고 해제하는 것으로 cred 구조체가 해제된 자리를 사용해서 dangling pointer가 그 영역을 가리킬 수 있었던 것은 cred 구조체의 크기가 0x90 이거나 그보다 작아서 인가요??그리고 추가적으로 혹시 cred 구조체의 크기를 구할 수 있는 방법이 있을까요??좋은 강의 감사합니다!!
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
VSCode나 Putty로 서버에 원격접속하려면 어떻게 환경을 구성해야하나요?
안녕하세요? 먼저, vagrant를 사용할 수 없어 N. vagrant를 사용하지 않고 구축할 수 있는 실습환경을 참고하여 실습환경을 구축했습니다.하지만 제가 리눅스 서버로 원격 접속하여 과제를 한 경험이 많아서 이번에도 그렇게 하고 싶은데 configuration에서 애를 먹는 중이에요.VSCode에서 ssh 원격접속을 위해서는 ~/. ssh/config 파일에 host를 새로 추가해야하는데HostName을 cent1의 경우 192.168.56.1로 하는게 맞는지 확실하지가 않습니다. 주석 친 172.18.1.91로는 connection timed out이 뜹니다.그리고 개인 비밀키인 IdentityFile은 https://github.com/bashbomb/VWS_vagrant_script/blob/master/CONF/ssh/id_rsa 에서 받았는데깃허브의 authorized_keys와 cent1 vm의 authorized_keys가 서로 달라서 깃허브의 ssh 설정이 제 로컬 환경에서 그대로 사용가능한 것인지 모르겠습니다.VSCode terminal로 원격접속을 시도하면 아래와 같은 메시지가 나옵니다. 아마 IdentityFile로 지정한 개인 키가 vm 서버의 authorized_keys 공개키로 검증이 되지 않는 것 같은데 그렇다면 어떤 개인 키를 사용해야될까요? 혼자서 해결이 되지 않아 도움 부탁드립니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker-compose.yml 수정후 restart 할때 문의 드려요
강의 영상 6분 41초 입니다. docker-compose.yml 의 certbot 컨테이너 command를--force-renewal 로 변경후docker-compose restart certbot 명령을 하는 내용니다.이후에docker logs certbot 하면, 선생님 영상을 보면, 인증서를 새로 다운 받는 영상이 보여집니다.허나 저는 아직 인증서 리뉴얼이 안된다고 나옵니다. 이전수업까지 이상없이 다 작동되었고,현재 certbot 강제 제발급만 안되는 상황입니다이럴경우, 컨테이너와 이미지를 삭제후 다시docker-compose up -d 를 해줘야 하는것인가요? certbot 코드command: certonly --webroot --webroot-path=/usr/share/nginx/html --email jhleeroot@gmail.com --agree-tos --no-eff-email --force-renewal -d jojostream.shop -d www.jojostream.shop docker logs certbot 오류 내용
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
permission dany가 떠요
git clone https://github.com/bashbomb/VWS_vagrant_script.git 입력했는데 저렇게 뜨네요 어떻게 해야하나요
-
미해결리눅스 입문 - 개념으로 탄탄히!!
터미널 열리지 않음
안녕하세요. virtual box에서 ubuntu-20.04 버전 설치 후 터미널 실행을 해도 터미널이 열리지 않습니다.open in terminal이나 직접 터미널을 실행해도 열리지 않습니다. 서칭을 했는데 잘 해결되지 않아 질문드립니다.혹시 관련 이슈에 관해 해결할 수 있는 방법이 있다면 공유해 주시면 감사 드리겠습니다.
-
미해결생활코딩 - Linux
cloud9 사용하려는데
https://c9.io 로 접속하면 aws로 접속되고 다른분이 구름꺼사용하라는데 주소를 모르겟어요 ㅠㅠ
-
미해결시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
m1 지원
안녕하세요.얼마전 virtualBox Beta 이긴 하지만 드디어 m1을 지원하기 시작했는데요.혹시 여기에 맞춰져서 실습을 진행하는방법이 있을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
nginx 웹서버 설정 이해1 - apt-get install nginx=1.18.0-0ubuntu1 막힌다면
nginx 웹서버 설정 이해1 4분43초nginx 설치를 위하여 아래와 같은 명령어 실행 ->apt-get install nginx=1.18.0-0ubuntu1해당 명령어 실행 후, E: Version '1.18.0-0ubuntu1' for 'nginx' was not found식으로 찾을 수 없다라는게 뜬다면아래와 같이 코드를 변경 요망. apt-cache policy nginx명령어를 치시면 Installed: 1.18.0-0ubuntu1.4식으로 나오는데, 해당 위 버전으로 변경해 줘야합니다.apt-get install nginx=1.18.0-0ubuntu1.4으로..해당 버전은 계속 변경되고있는 부분이라.혹 안되는 분 있을까봐 공유드립니다. 이상입니다.ps.좋은강의입니다.듣고있는데 너무 친절하시네요, 완강까지 다들 화이팅 입니다.
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
docker run -d -p 9999:80 명령어에 대해
docker run -d -p 9999:80 -v /home/ubuntu/2021_DEV_HTML:/usr/local/apache2/htdocs --name my_apache httpd란 명령어에서1) httpd 의 컨테이너를 실행하는데, 아파치가 9999포트로 해당 경로에 있는 index.html 을 기본 경로로 연결한다 라는 뜻으로 이해를 했는데, 80 이란 포트는 어떤 건지 정확히 이해가 되지 않았습니다 ㅠHost OS 80번 포트 : Apache Container 9999 포트로 서로 연결된다..? 이런 뜻인가요? OS가 80번 포트에 있을리는 없는 것 같아서 문의를 올립니다. 2) /usr/local/apache2/htdocs 가 어떤 경로인지 잘 이해가 안되는데, 아파치에서 바라보는 경로? 가 정확이 어떤 뜻인지 조금만더 설명해주시면 감사할 것 같습니다. 3) 위 명렁어와 별개의 질문인데, Container 란 한 프로그램을 감싸고 프로그램을 띄우는? 공간이라고 설명해주신 것 같습니다. 한 프로그램만 돌아가는건가요? 아니면 별다른 서버 터미널과 동일하게 수많은 프로그램이 돌아갈 수는 있는 건데 목적에 맞는 프로그램들만 돌리는걸까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
nginx 오늘 기준 nginx=1.18.0-0ubuntu1.3 입니다..
버전 호환에 문제가 없는진 모르겠지만요...
-
해결됨리눅스 시스템 프로그래밍 - 이론과 실습
파일 디스크립터와 FILE 구조체에 대한 질문
리눅스는 모든 것을 파일로 관리한다고 알고 있습니다. (장치나 소켓 등도 포함)파일 디스크립터는 파일의 추상화 개념으로 알고 있는데, 지금 이 강의를 보니까 파일 디스크립터를 주고 파일 포인터를 받아오는데, 그러면 리눅스에서 파일이나 장치는 전부 각자의 파일 구조체를 가지고 있다고 이해해도 될까요?
-
미해결리눅스 입문 - 개념으로 탄탄히!!
한글은 어떻게 쓰나요?
한글 입력이 안되는데 어떻게 하는건가요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
flask 서버관련 문의 드립니다
강의 내용 3분 14초 입니다강의 내용을 듣다가, 제가 이해하고있는게 맞는지 궁금하여 문의 드립니다 현재 강의에서는nginx 프록시 서버가 존재하고 nginx 서버 (myweb) 용 서버가 존재고 있습니다. 선생님 설명중에서flask서버는 nginx 프록시 서버가 포워딩을 해줘서 , flask서버의 gunicorn과 직접 통신 한다고 말씀해 주셨습니다 그렇다면nginx서버(myweb) 가 필요없다면, nginx(myweb) 서버(컨테이너)는 안만들어도 되는것인지 궁금합니다. 선생님께 배워서 간단한 웹페이지를 제작중인데flask에서, index.html 파일도 리턴해주도록 되어있어서,굳이 nginx(myweb) 서버는 안만들어도 될거 같은데,제 생각이 맞는건지 틀린건지 모르겠습니다
-
해결됨시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script
실습환경에 대한 문의 드립니다.
리눅스는 상용 버전에 따라 명령어가 달라질 수 있다고 알고있습니다.해당 강의에서 배울 명령어들은 리눅스 상용 버전에 다 사용이 가능한 명령어들인가요?그리고 실습환경을 웹이서 구동되는 Linux를 알려주셨는데 저는 직접 설치해서 사용하고자 합니다.어떤 리눅스를 설치하면 강의 듣는데 문제가 없을지 확인 부탁드립니다.감사합니다.