GiitHub에 AWS 키를 올리면 뽑힌다는 거 진짜???해보자!

7155 단어 GitHubAWS

🤔 전언


보기 드문, AWS를 불법으로 이용당한 이야기
  • AWS에서 불법으로 이용된 8만 달러의 요청이 들어왔다면 - Qita
  • 초보자가 AWS에서 불법으로 이용당해 6천 달러를 청구해 울 뻔한 이야기. -Qiita
  • AWS의 불법 사용으로 300만 엔의 요청이 접수된 후 면제될 때까지 항상 - Qiita
  • 부미 등지에서 액세스 키를 검색하는 BOT가 항상 실행되고 있는데 공개되자마자 바로 뽑혀서 불법으로 이용되고 있다는 댓글을 여러 번 봤어요.
  • 이런 BOT가 정말 움직이는 건가요?
  • 열쇠를 뽑고 불법으로 사용하기 시작한 지 얼마나 됐습니까?
  • 신경 쓰여서 검증해 봤어요.
    GiitHub에 이런 느낌을 주는 공용 창고를 만들다가 부주의로 권한이 없는 AWS 액세스 키와 비밀 액세스 키를 공개해 외부에서 사용하는 시간을 측정했다.

    🎉 결실


    진짜예요.매우 빠르다.git push부터 13분 동안 사용합니다.지프 집선기 무서워, 조심해!
    아니오, 잘못된 제출을 방지하기 위해서awslabs/git-secrets를 꼭 사용하세요.사람은 실수를 할 수 있다.
    이후 58분 동안 AWS 지원 부서에 연락해 GiitHub에서 탈퇴하겠다고 경고했다.뜻밖에도 악의적인 BOT뿐만 아니라 AWS 자신도 감시하는 눈빛을 가지고 있다는 새로운 발견!!

    ✋ 검증 프로그램


    원본 파일 만들기


    Cloudtrail이 활성화되면 인스턴스를 중지하기 위해 Lambda 함수를 적절하게 생성합니다.소스에 누르지 마세요. 절대 누르지 마세요. 이런 식으로 댓글을 달아보세요.
    lambda_function.py
    import logging
    import boto3
    from boto3.session import Session
    
    print('Loading function... ')
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    
    # set your access key here, don't use my key!!
    AWS_ACCESS_KEY = 'AKIAJTR62TDCMHIFOH3A'
    # set your secret access key here, don't use my key!!
    AWS_ACCESS_SECRET = '9Z/jzM0C+haty7f2hwroK9ADmw06wq/EcnMgrcEj'
    
    # option
    AWS_REGION = 'ap-northeast-1'
    EC2_TARGET_NAME_TAG = 'StopTargetInstance'
    
    def handler(event, context):
        実際の処理はどうでもいいので割愛~、インスタンス停止とかするだけです
    

    액세스할 수 없음 확인


    Lambda 함수의 동작 확인 테스트 후 IAM 정책 취소를 확인하여 Lambda 함수에서 오류가 발생했습니다.무서워서 적절한 열쇠로 아무것도 할 수 없으니 CLI도 확인해야 한다.
    S3 사용 불가
    aws-cli
    $ aws s3 ls
    An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied
    
    $ aws s3 ls s3://s3-ap-northeast-1.amazo
    naws.com/SOMEBUCKET/
    An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
    
    EC2 실례 일람표도 구할 수 없고, 응, 이 열쇠는 고믹스로 바뀌었어.
    aws-cli
    $ aws ec2 describe-instances
    An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation.
    $ aws ec2 run-instances --image-id ami-XXXXXXXX --security-group-ids sg-XXXXXXXX --count 1 --instance-type t2.nano --
    key-name SOMEKEYPAIR --query 'Instances[0].InstanceId'
    An error occurred (UnauthorizedOperation) when calling the RunInstances operation: You are not authorized to perform this operation. Encoded authorization failure message: xxx
    
    클라우드 트레일에도 데니 일지가 있다.
    검색 조건: { $.errorCode = "AccessDenied" }
    네.노출 게임 준비 다 됐습니다.

    시간 다 됐어!그뿐이야..


    git push를 계속하고 멍청해 보이는 README도 넣어봤어요.감지된 시간을 이해하기 쉽게 목표를 정하고 즐거운 시간에... Push!!!
    그 지령이 틀렸어, 응, 인증이 통과되지 않았어...왜...어렴풋해...
    saitota/AutomateStopEC2Instances

    😱 결실


    아이구!첫 타자는 푸시에서 13분 만에 도착한 캐나다!

    IAM에 대한 액세스 키 생성이 작업에 실패했습니다.boto3을 사용하기 때문에 일련의 조작이 자동화될 것으로 추정됩니다.확실히 전 구역에서 발굴용 실례를 상한선까지 채우기 위해서는 신선도가 좋은 열쇠를 먼저 얻어 신속하게 구축해야 한다.
    캐나다 여러분, 이 옷을 입으신 것을 축하합니다.이제 순위를 봅시다.
  • 2위 14분 미국측,ec2 실례일람표를 얻고 싶어요!
  • 3위 38분 뉴질랜드인, S3 물통 일람표 구하고 싶어요!왜!?
  • 4위 45분 뉴질랜드인(기타 IP), 방문키 생성 준비!
  • 5위 58분 AWS
  •  !!??
    뜻밖에도 지지표가 끊기고 우편물이 배달되었다.
    AWSSupportCase
    Dear AWS Customer,
    Your AWS Account is compromised! Please review the following notice and take immediate action to secure your account.
    
    (意訳)
    あんたのキーペア GitHub に上がってんで!
    はよ消して、IAM見直せ!
    インスタンス知らないのあったら止めろ!はよやれ!
    
    https://github.com/saitota/AutomateStopEC2Instances/ ~~~
    
    ってことで一部機能制限したで!!
    
    (以下対応するべきことががいっぱい書かれてる)
    
    오, 이 아이는 창고도 잘 파악하고 있군!실제로 AWS도 GiitHub을 복제하고 있습니다!!완전 친절!!
    또 기능 제한을 가해 과도한 요금을 받지 않도록 통제한다.(GPU 실례 같은 건 하면 안 되나, 미확인) 아, AWS의 경우 함부로 캐면 현물 실례 가격과 관련돼 환불하면 그게 손해고 싫어하겠죠.자동화는 일상에서 흔히 일어나는 일이라고 추정할 수 있다.

    📖 감상


    AWS가 다소 감지된다고 해서 부정 사용을 막을 수도 없고, 평소 열쇠가 흘러나오지 않도록 하는 게 맞다, 귀찮은 냄새 나지 않게 사전 대책을 잘 세워보자.사람은 실수를 할 수 있다.
    열쇠의 유출을 방지하는 데는 위awslabs/git-secrets가 가장 좋은 실천이다.이 밖에도 루트 계정을 사용하지 않고 원가 알림 설정, 트레일 설정, 람바다라면 열쇠 대신 캐릭터로 하는 등 다양한 대안이 있다.
    아무것도 하지 않은 사람은 정리된 기사가 많으니 속공으로 확인해 주세요.
  • AWS 계정 획득 후 즉시 수행해야 할 초기 설정 요약 - Qita
  • 좋은 웹페이지 즐겨찾기