nmap -sT -A -vv -n -Pn 192.168.1.2 -p- -oN result.txt
-sT : TCP 3웨이 핸드쉐이크를 이용하여 대상 접속 -A : OS 검출, 버전 검출, 스크립트 스캐닝 (NSE), 경로추적 -vv : 상세하게 -n : DNS 해석을 비활성화 한다. - Pn : 핑 비활성화 -p- : 모든 포트 -oN : 결과를 텍스트로 저장한다.
Nmap scan report for 10.0.2.6 Host is up, received arp-response (0.0015s latency). Scanned at 2023-01-15 03:27:31 EST for 203s Not shown: 65522 closed tcp ports (conn-refused) PORT STATE SERVICE REASON VERSION 9/tcp open discard? syn-ack 21/tcp open ftp syn-ack ProFTPD 1.3.3a |_auth-owners: nobody 25/tcp open smtp syn-ack Exim smtpd 4.68 | smtp-commands: localhost Hello nmap.scanme.org [10.0.2.5], SIZE 52428800, EXPN, PIPELINING, HELP |_auth-owners: Debian-exim 37/tcp open time syn-ack (32 bits) |_rfc868-time: 2023-01-15T08:30:41 79/tcp open finger syn-ack Linux fingerd |_finger: No one logged on.\x0D 80/tcp open http syn-ack nginx 1.4.0 |_http-server-header: nginx/1.4.0 |_auth-owners: www-data | http-methods: |_ Supported Methods: GET HEAD POST 110/tcp open pop3 syn-ack Cyrus pop3d 2.3.2 |_ssl-date: TLS randomness does not represent time |_pop3-capabilities: SASL(DIGEST-MD5 CRAM-MD5 NTLM) LOGIN-DELAY(0) RESP-CODES TOP STLS IMPLEMENTATION(Cyrus POP3 server v2) USER PIPELINING AUTH-RESP-CODE UIDL EXPIRE(NEVER) APOP |_auth-owners: cyrus | pop3-ntlm-info: |_ Target_Name: MAILSERVER01 | ssl-cert: Subject: commonName=hackbloc.linux01.lab/organizationName=HackerHouse/stateOrProvinceName=HH/countryName=UK/emailAddress=info@myhackerhouse.com/organizationalUnitName=HackerHouse/localityName=test | Issuer: commonName=Superfish, Inc./organizationName=Superfish, Inc./stateOrProvinceName=CA/countryName=US/localityName=SF | Public Key type: rsa | Public Key bits: 1024 | Signature Algorithm: sha1WithRSAEncryption | Not valid before: 2016-12-01T11:34:00 | Not valid after: 2034-05-07T16:25:00 | MD5: 8e68fc141986959b175bf81dc5509829 | SHA-1: d807aeb703b9a2a26cc01e5ef93b1740861c3766 113/tcp open ident? syn-ack |_auth-owners: oident 143/tcp open imap syn-ack Cyrus imapd 2.3.2 | ssl-cert: Subject: commonName=hackbloc.linux01.lab/organizationName=HackerHouse/stateOrProvinceName=HH/countryName=UK/emailAddress=info@myhackerhouse.com/organizationalUnitName=HackerHouse/localityName=test | Issuer: commonName=Superfish, Inc./organizationName=Superfish, Inc./stateOrProvinceName=CA/countryName=US/localityName=SF | Public Key type: rsa | Public Key bits: 1024 | Signature Algorithm: sha1WithRSAEncryption | Not valid before: 2016-12-01T11:34:00 | Not valid after: 2034-05-07T16:25:00 | MD5: 8e68fc141986959b175bf81dc5509829 | SHA-1: d807aeb703b9a2a26cc01e5ef93b1740861c3766 443/tcp open ssl/http syn-ack nginx 1.4.0 | tls-nextprotoneg: |_ http/1.1 |_http-server-header: nginx/1.4.0 | ssl-cert: Subject: commonName=hackbloc.linux01.lab/organizationName=HH/stateOrProvinceName=Underground/countryName=UK/emailAddress=root@localhost/organizationalUnitName=Elite Squad/localityName=Private | Issuer: commonName=Superfish, Inc./organizationName=Superfish, Inc./stateOrProvinceName=CA/countryName=US/localityName=SF 993/tcp open ssl/imap syn-ack Cyrus imapd 2.3.2 | ssl-cert: Subject: commonName=hackbloc.linux01.lab/organizationName=HackerHouse/stateOrProvinceName=HH/countryName=UK/emailAddress=info@myhackerhouse.com/organizationalUnitName=HackerHouse/localityName=test | Issuer: commonName=Superfish, Inc./organizationName=Superfish, Inc./stateOrProvinceName=CA/countryName=US/localityName=SF 995/tcp open ssl/pop3 syn-ack Cyrus pop3d 2.3.2 | ssl-cert: Subject: commonName=hackbloc.linux01.lab/organizationName=HackerHouse/stateOrProvinceName=HH/countryName=UK/emailAddress=info@myhackerhouse.com/organizationalUnitName=HackerHouse/localityName=test | Issuer: commonName=Superfish, Inc./organizationName=Superfish, Inc./stateOrProvinceName=CA/countryName=US/localityName=SF 4190/tcp open sieve syn-ack Cyrus timsieved 2.3.2 (included w/cyrus imap) |_auth-owners: cyrus MAC Address: 08:00:27:71:EA:FA (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.16 - 4.6 TCP/IP fingerprint:
# Nmap done at Sun Jan 15 03:30:54 2023 -- 1 IP address (1 host up) scanned in 204.02 seconds
MicroStack은 OpenStack의 단일 구현체로서 쉽게 설치하고 관리하기 쉽게 만들어 줍니다. MicroStack 홈페이지에서는 OpenStack의 모든것을 제공해 주지는 못하지만 일반적인 테스트나 개발을 위해서는 사용할 수 있으며 특히 Kubernetes와 함께 사용하기에 적합한 구현체라고 소개 하고 있습니다. 현재의 MicroStack은 베타 버전이므로 테스트 용도로만 사용하는 것이 적합하며 실제 서비스에 이를 이용하는 것은 지양하기 바란다.
PS. OpenStack의 테스트 환경으로 DevStack과 MicroStack 두가지를 사용할 수 있다. 이는 사용자의 선택의 문제이다. 다만 DevStack은 릴리즈 된지 오래된 관계로 다양한 문제가 있으며 실제 OpenStack을 배포하는 용도로도 사용할 수 있다고 한다.
설치
Microstack은 snap 명령어를 이용하여 간편하게 설치 가능하다.
Requirements: Ubuntu 18.04 LTS or Ubuntu 20.04 LTS 가 실행되고 있는 8GB 이상의 메모리와 100GB의 디스크 공간을 가진 다중 코어 VM이나 물리 서버에서 동작 한다.
먼저 snap을 베타 채널로 해서 microstack을 설치한다.. (snap은 ubuntu의 패키지 설치기로 기본으로 설치되어 있을것이다. 설치 되어 있지 않다면 검색을 통해서 수동으로 설치 한다.)
sudo snap install microstack --beta
snap에 등록된 microstack의 버전을 확인한다.
snap list microstack
Name Version Rev Tracking Publisher Notes
microstack ussuri 245 latest/beta canonical✓ -
실제 microstack의 설치는 아래의 명령어를 통해서 간략하게 초기화 하는것으로 설치가 완료 된다. 모든 설정은 자동으로 구성된다.
sudo microstack init --auto --control
% 위와 같이 설치할 경우 cinder의 디바이스 할당이 설정되지 않아서 볼륨생성이 되지 않는다. 이럴 경우 다른 이미지를 제대로 올릴수 없기 때문에 아래와 같이 설치한다.
위의 명령어들은 베타와 개발 모드로 설치하고 초기화 할때 Cinder Loop Device 를 지원하고 50GB를 할당하도록 설정한다.
Instance의 실행
이제 설치가 되었으므로 간단하게 microstack의 Instance를 만들어 보겠다. 조건은 아래와 같다.
keypair ‘microstack’
flavor ‘m1.tiny’
floating IP address on subnet ‘10.20.20.0/24’
To create an instance named ‘test’ based on the ‘cirros’ image:
microstack launch cirros -n test
Themicrostack launchcommand also supports arguments--key,--flavor,--image, and--net-id, in which case you will need to create objects using the standard client if non-default values are desired.
실제 만들어진 Instance를 UI에서 조회하면 아래와 같이 생성되어 있다.
위와 같은 경우 아래의 명령어를 통해서 해당 인스턴스에 접속할 수 있다.
Access the instance using the private SSH key associated with the default keypair:
sokoban@k8smaster1:~/snap/microstack/common/.ssh$ ssh -i /home/sokoban/snap/microstack/common/.ssh/id_microstack cirros@10.20.20.49
The authenticity of host '10.20.20.49 (10.20.20.49)' can't be established.
ECDSA key fingerprint is SHA256:0127VyiAjGhpTU5E+Zl8CEWoA6FJcPMc/1a2pkWqAxU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.20.20.49' (ECDSA) to the list of known hosts.
sign_and_send_pubkey: no mutual signature supported
cirros@10.20.20.49's password:
위와 같이 패스워드 입력창이 나올 경우에는 아래와 같이 입력하면 접속할 수 있다. ( -o "PubkeyAcceptedKeyTypes +ssh-rsa" 추가)
위와 같은 이미지가 나올경우에는 microstack에서 이미지 파일을 읽을수 있는 위치에 넣어 주어야 한다. 다운로드 받은 이미지 파일을 /var/snap/microstack/common/images 로 이동한 다음에 명령을 내려 준다.
위와 같이 생성된 이미지를 인스턴스로 띄울때는 아래의 명령어로 띄울수 있다.
microstack launch CentOS8.1 -n test2 -f ma.small
이미지의 기본 지식
QCOW2 형식의 가상 머신 스토리지
QCOW2는 가상 머신 디스크 이미지의 저장 형식입니다.QCOW는QEMU copy on write의 약자입니다. QCOW2 형식은 논리 블록과 물리적인 블록 사이에 매핑을 추가하여 가상 계층으로부터 물리적인 스토리지 레이어를 분리합니다. 각 논리 블록은 물리적 오프셋에 매핑되어서 스토리지 초과 할당 및 가상 머신 스냅샷을 사용 가능하게 하며, 여기서 각 QCOW 볼륨은 기반 디스크 이미지의 변경 내용만 보여줍니다.
초기 매핑을 통해 모든 논리 블록이 지원 파일 또는 지원 볼륨에 있는 오프셋과 연결됩니다. 가상 머신이 스냅샷 후 QCOW2 볼륨에 데이터를 쓰면 지원 볼륨에서 관련 블록을 읽고 새 정보로 수정한 후 새 스냅샷 QCOW2 볼륨에 쓰기합니다. 이를 통해 맵은 새 장소로 연결되도록 업데이트됩니다.
RAW
RAW 스토리지 형식으로 저장된 가상 머신 디스크 이미지에는 형식이 적용되지 않는다는 점에서 QCOW2보다 성능면에서 우월합니다. RAW 형식으로 저장된 디스크 이미지를 사용하여 가상 머신 데이터 작업 시 호스트에서 추가적인 작업을 할 필요가 없습니다. 가상 머신이 가상 디스크에서 주어진 오프셋에 데이터를 쓰면 이러한 I/O는 지원 파일 또는 논리 볼륨의 같은 오프셋에 쓰기됩니다.
Raw 형식의 경우 저장 장치 어레이(storage array)에서 외부에서 관리되는 씬 프로비저닝된 LUN을 사용하지 않는 한 정의된 이미지의 전체 공간이 사전 할당되어야 합니다.
1. Unable to create a new session key. It is likely that the cache is unavailable. 에러
OpenStack중에서 memcached에서 발생하는 에러이다. 발생하면 VM을 재시작 하는것으로 해결은 가능하나 근본적인 해결책은 아님 VM의 suspend 모드를 자주 사용할 경우 세션키의 문제로 발생함
Error:Failed to perform requested operation on instance "test2", the instance has an error status: Please try again later [Error: Build of instance d699f986-24f3-485d-8063-ef46b64736d2 aborted: Volume cbad7ea8-a247-4c75-bf92-58eccfb10cb8 did not finish being created even after we waited 28 seconds or 10 attempts. And its status is error.].
Error:Failed to perform requested operation on instance "test2", the instance has an error status: Please try again later [Error: Build of instance 8ee77d2f-6341-4251-86eb-86683816594b aborted: Volume 527b54e7-9de0-47e6-8adc-0a1ab51cf14c did not finish being created even after we waited 3 seconds or 2 attempts. And its status is error.].
kali-tools-web: Designed doing web applications attacks
kali-tools-database: Based around any database attacks
kali-tools-passwords: Helpful for password cracking attacks – Online & offline
kali-tools-wireless: All tools based around Wireless protocols – 802.11, Bluetooth, RFID & SDR
kali-tools-reverse-engineering: For reverse engineering binaries
kali-tools-exploitation: Commonly used for doing exploitation
kali-tools-social-engineering: Aimed for doing social engineering techniques
kali-tools-sniffing-spoofing: Any tools meant for sniffing & spoofing
kali-tools-post-exploitation: Techniques for post exploitation stage
kali-tools-forensics: Forensic tools – Live & Offline
kali-tools-reporting: Reporting tools
Others
kali-linux-large: Our previous default tools for amd64/i386 images
kali-linux-everything: Every metapackage and tool listed here
kali-desktop-live: Used during a live session when booted from the image
설치와 사용을 완료 하였다면 exit 로 나오면 된다.
사용하기
설치를 하고 나서 exit 로 나온 이후에 다시 접속 하고자 할 경우 "docker run --tty --interactive kalilinux/kali-rolling" 명령어로 접속할 경우 새로운 kali-rolling 컨테이너가 뜨고 이전에 설치한 컨테이너는 사용이 불가능 하다. 이전에 설치한 도커 컨테이너를 이용하고자 하는 경우 아래와 같이 사용한다.
kali@kali:~$ docker container list --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d36922fa21e8 kalilinux/kali-rolling "/bin/bash" 2 minutes ago Exited (0) About a minute ago lucid_heyrovsky kali@kali:~$ kali@kali:~$ docker start d36922fa21e8 kali@kali:~$ docker attach d36922fa21e8
위와 같이 할 경우 이전에 접속하였던 도커 컨테이너에 그대로 접속하여 설치된 명령어의 사용이 가능하다. 실제 Kali의 명령어들은 아래를 참고한다.
API 사용자가 충분 하면 명세서에 약속된 내용이 중요하지 않습니다. 시스템에서 관찰할 수 있는 모든 동작은 누군가에 의해 좌우됩니다.
지난 몇 년 동안 지구상에서 가장 복잡한 소프트웨어 시스템 중 하나에서 저수준 인프라 마이그레이션을 수행하면서 인터페이스와 구현 간의 차이점에 대해 몇 가지 관찰했습니다.우리는 일반적으로 인터페이스를 시스템과 상호 작용하기 위한 추상화(예: 자동차의 스티어링 휠 및 페달)로 생각하고 구현은 시스템이 작동하는 방식(바퀴 및 엔진)으로 생각합니다.이것은 여러 가지 이유로 유용합니다. 그 중 가장 중요한 이유는 가장 유용한 시스템이 한 개인이나 그룹이 완전히 이해하기에는 너무 복잡해지며 추상화는 그 복잡성을 관리하는 데 필수적입니다.
정확한 추상화 수준을 정의하는 것은 완전히 별개의 논의이지만(Mythical Man-Month 참조), 우리는 추상화가 정의되면 구체적이라고 생각하는 것을 좋아합니다.다시 말해, 인터페이스는 이론적으로 시스템 소비자와 구현자를 명확하게 구분해야 합니다.실제로, 이 이론은 시스템의 사용이 증가하고 사용자가 인터페이스를 통해 의도적으로 노출되거나 정기적인 사용을 통해 확인하는 구현 세부 사항에 의존하기 시작하면서 무너집니다.Spolsky의 "Leaky Abstractions의 법칙"은 내부 구현 세부 사항에 대한 소비자의 의존성을 구현합니다.
논리적으로 극단으로 치면 구어체로 "암시적 인터페이스의 법칙"이라고 하는 다음과 같은 관찰 결과가 나타납니다. 충분히 사용하면 비공개 구현과 같은 것은 없습니다.즉, 인터페이스에 충분한 소비자가 있으면 의도적이든 아니든 구현의 모든 측면에 집합적으로 의존하게 됩니다.이 효과는 구현에 대한 변경을 제한하는 역할을 합니다. 이제 명시적으로 문서화된 인터페이스와 사용에 의해 캡처된 암시적 인터페이스를 모두 준수해야 합니다.우리는 종종 이 현상을 "버그 대 버그 호환성"이라고 합니다.
암시적 인터페이스의 생성은 일반적으로 점진적으로 이루어지며 인터페이스 소비자는 일반적으로 이러한 일이 진행되는 동안 인식하지 못합니다.예를 들어, 인터페이스는 성능에 대해 보장하지 않을 수 있지만 소비자는 종종 구현에서 특정 수준의 성능을 기대하게 됩니다.이러한 기대는 시스템에 대한 암시적 인터페이스의 일부가 되며 시스템의 변경 사항은 소비자를 위해 계속 기능하기 위해 이러한 성능 특성을 유지해야 합니다.
모든 소비자가 동일한 암시적 인터페이스에 의존하는 것은 아니지만 충분한 소비자가 주어지면 암시적 인터페이스는 결국 구현과 정확히 일치합니다.이 시점에서 인터페이스는 증발했습니다. 구현이 인터페이스가 되었으며, 인터페이스에 대한 변경 사항은 소비자의 기대를 위반하게 됩니다.운이 좋으면 광범위하고 포괄적이며 자동화된 테스트를 통해 이러한 새로운 기대치를 감지할 수 있지만 개선할 수는 없습니다.
암시적 인터페이스는 대규모 시스템의 유기적 성장으로 인해 발생하며 문제가 존재하지 않기를 바랄 수도 있지만 설계자와 엔지니어는 복잡한 시스템을 구축 및 유지 관리할 때 이를 고려하는 것이 현명합니다.따라서 암시적 인터페이스가 시스템 설계와 발전을 어떻게 제한하는지 알고, 합리적으로 널리 사용되는 시스템의 경우 인터페이스가 생각보다 훨씬 더 깊숙이 도달한다는 것을 알고 있습니다.
윈도우즈와 맥을 사용하는 입장에서 키보드와 마우스를 번갈아 가면서 사용하는건 여간 귀찮은 일이 아닐수 없다. 특히 데스크탑이라면 여러개의 키보드와 마우스가 어지럽게 책상에 놓여질수 있을것이다. 물론 KVM을 사용하는게 가장 좋은 일이지만 KVM이 없다면 키보드 마우스 공유 프로그램을 사용하는것도 한가지 방법이다.
먼저 공유 프로그램을 사용하기 위해서는 동일 인터넷 환경에 PC가 위치하는게 가장 좋다. 그런다음 아래의 프로그램을 각각 설치한다.
1. Server : 키보드와 마우스를 사용하고자 하는 PC에 설정한다. (윈도우나 맥의 경우 방화벽이 켜져 있으면 작동하지 않으니 예외처리를 꼭 해주어야 한다.)
2. Client : 키보드와 마우스를 공유 받는 쪽이다. 서버를 시작한 이후에 별도로 Auto Config에 서버의 IP가 나오지 않는 다면 설정이 잘못된 것이다. 이런 경우 꼭 Log를 검사해 보기를 바란다. 만약 다른 네트워크라면 서버 IP에 별도로 IP를 지정한다.
아래는 서버단에서의 상세 설정 화면이다. 가급적 SSL을 사용하기를 바란다. 포트는 24800번으로 만약 방화벽에서 예외 처리를 해주지 않으면 서로간에 통신이 되지 않아 Auto config가 동작하지 않는다.
Enable SSL 사용시
기본적으로 간략한 설정을 한 이후에 제대로 동작하지 않아 Log를 확인해 보니 아래와 같이 Barrier.pem 파일이 존재하지 않아 서로 SSL 통신이 이루어 지지 않는 것을 알수 있다.
할 엘로드(Hal Elrod)가 지은 미라클 모닝의 명언 구절만을 모아 보았다. 저자는 스무살의 나이에 음주운전을 하던 대형 트럭과 사고가 났고 심각한 부상도 있었고 사업은 망해가고 심각한 개인부채, 우울증이 있었지만 미라클 모닝을 통해서 극복하였다고 한다. 이 책은 어찌 보면 습관이라는 영역으로 볼 수도 있지만 아침을 어떻게 하는지에 따라서 인생이 바뀔수 있다는 이야기를 우리에게 잘 전달해 주고 있다.
절망은 극적인 변화를 위한 원료다. 자기가 믿었던 모든것을 버릴수 있는 자만이 탈출을 꿈꿀 수 있다. - 월리엄 버로우스 -
성공은 당신이 만들어낸 그 사람이 끌어당기는 것이다. - 짐 론 -
특별한 삶은 매일 끊임없는 개선을 통해 만들어지는 것이다. - 로빈 샤르마 -
인생에서 가장 슬픈 일은, 그 마지막에 도달했을 때 후회하며 돌아보는 것이다. 그때 가서 당신이 더 많은 것을 하고, 더 많은 것을 갖고, 더 나은 사람이 될 수 있었다는 것을 알아봐야 소용없다. - 로빈 샤르마 -
만족감과 함께 잠자리에 들고 싶다면 매일 아침 투지와 함께 일어나야 한다. - 조지 로리머 -
인생의 커다란 변화를 만들고 싶다면, 당신에게 필요한 건 영감, 혹은 절망이다. - 토니 로빈스 -
하루 중 가장 먼저 하는 일이 가장 영향력이 큰 일이다. 왜냐하면 그것이 나머지 하루에 대한 당신의 마음가짐과 환경을 설정하기 때문이다. - 에번 페이건 -
침묵 속에서 영혼은 더 뚜렷이 빛나는 길을 찾고, 형태를 알 수 없던 목표들이 수정 같이 맑게 모습을 드러낸다. - 마하트마 간디 -
신년이 깊은 확인시 되는 순간 위대한 일이 일어한다. - 무하마드 알리 -
인생에서 가장 중점적으로 개선해야 할 부분에 대한 확신의 말을 만들어라. 건강에 관한 것이든, 사고방식과 관한 것이든, 인간관계에 대한 것이든 무엇이라도 상관없다. 확신의 말은 각 부분에서 정말로 원하는 상태를 분명히 하고 종이에 적는 것으로 시작한다. - 미라클 모닝중
알나인티를 소유한 오너분들중에서 배기에서 흰색 연기가 나오는 경우를 가끔 볼수 있다. 이는 엔진오일이 엔진에 함께 연소되면서 나오는 경우로 나인티의 박서 엔진 중에서 특히 오래된 경우에 종종 발생한다고 한다. (나의 경우 가끔 시동 걸면 흰 연기가 나오기도 하고 시동 끈 이후에 흰 연기가 나오는 경우가 있다.)
이런 경우 엔진오일을 소모 한다고 보면 된다. 즉 엔진오일이 점점 줄어들게 된다고 생각하면 된다. 그렇다고 급격하게 줄어드는 경우에는 엔진에 문제가 있다고 볼수도 있지만 대개 정상적인 경우이므로 소모될 경우 보충하면서 타면 된다.
알나인티 엔진 오일 점검
나인티의 엔진 오일 게이지는 왼쪽 엔진 헤드 아래쪽에 위치하고 있으므로 여기를 통해서 확인하면 된다. 아래는 제조사에서 이야기하는 엔진오일 체크 방법이다.
% 나인티 엔진 오일을 확인할때에는 반드시 정지된 냉간 상태가 아닌 일정 수준 이상 정상 주행 이후에 확인을 해야 한다.
약 40km 수준을 주행한 이후 엔진오일 창에 비치는 엔진오일 : MIN이하에 위치한다. 아예 엔진 오일이 전혀 없는 것처럼 보인다. 공식 메뉴얼에 의하면 알나인티의 엔진오일은 MIN과 MAX 사이에 위치하도록 보충해야 한다고 한다.
엔진 오일의 보충
엔진 오일의 보충은 전용툴을 이용해서 노출되어 있는 엔진오일 캡을 열고 오일을 보충하면 간단하게 끝난다. 전용 공구가 없을 경우 Aliexpress에서 몇천원에 구매가 가능하니 구매하여 사용한다.